0028050: Empty result of offset operation in mode complete join type intersection
[occt.git] / dox / dev_guides / upgrade / upgrade.md
index 740b5df..4ac9716 100644 (file)
@@ -251,6 +251,7 @@ Porting of user applications from an earlier OCCT version to version 6.9.0 requi
 
 3D Viewer now uses GLSL programs for managing frame buffer and stereoscopic output.
 For proper initialization, application should configure **CSF_ShadersDirectory** environment variable pointing to a folder with GLSL resources - files from folder **CASROOT**/src/Shaders.
+*Note that **CSF_ShadersDirectory** become optional since OCCT 7.1.0 release*.
 
 @subsection upgrade_690_selection Changes in Selection
 
@@ -1045,6 +1046,24 @@ Flags *Graphic3d_TMF_PanPers* and *Graphic3d_TMF_FullPers* has been removed.
 Several transformation persistence methods in PrsMgr_PresentableObject have been marked deprecated.
 Transformation persistence should be defined using directly Graphic3d_TransformPers constructor and passed by a handle, not value.
 
+@subsection_upgrade_710_selprops Dynamic highlight and selection properties
+
+Release 7.1.0 introduces *Graphic3d_HighlightStyle* - an entity that allows flexible customization of highlighting parameters (such as method, highlight color and transparency). Therefore, API of methods related to highlighting in the following core classes:
+- *AIS_InteractiveContext* (methods HilightWithColor(), Hilight());
+- *PrsMgr_PresentationManager* (method Color());
+- *SelectMgr_EntityOwner* (method HilightWithColor())
+was changed to process Graphic3d_HighlightStyle instead of Quantity_Color.
+
+Method AIS_InteractiveContext::Hilight is now deprecated and highlights interactive object with selection style.
+
+Group of methods AIS_InteractiveContext::IsHilighted changed behavior - now they only check object's or owner's highlight flags in global status. If highlight color is required on application level, overloaded methods AIS_InteractiveContext::HighlightStyle for owner and object must be used instead.
+
+The following methods were replaced in AIS_InteractiveContext API:
+- *HilightColor*, *SetHilightColor* were replaced by *HighlightStyle*, *SetHighlightStyle*;
+- *SelectionColor* setter and getter were replaced by *SelectionStyle*, *SetSelectionStyle*.
+
+API of Prs3d_Drawer was extended to allow setting up styles for both dynamic selection and highlighting. Therefore, on application level changing highlight style for particular object must be implemented via SelectMgr_SelectableObject::HilightAttributes() and processed in entity owner.
+
 @subsection upgrade_710_removed Removed features
 
 The following obsolete features have been removed:
@@ -1057,7 +1076,32 @@ The following obsolete features have been removed:
 * 3D viewer printing API *V3d_View::Print()* has been removed. This functionality was available on Windows platforms only.
   Applications should use general image dump API *V3d_View::ToPixMap()* and manage printing using platform-specific API at application level.
   Text resolution can be managed by rendering parameter *Graphic3d_RenderingParams::Resolution*, returned by *V3d_View::ChangeRenderingParams()*.
+* Methods PrsMgr_PresentationManager::BoundBox, PrsMgr_PresentationManager::Hilight and SelectMgr_EntityOwner::Hilight were removed as not used.
+  Corresponding method in custom implementations of SelectMgr_EntityOwner can be removed safely. PrsMgr_PresentationManager::Color with corresponding style must be used instead of removed presentation manager's methods.
+* Class *NCollection_QuickSort* has been removed.
+  The code that used the tools provided by that class should be corrected manually.
+  The recommended approach is to use sorting algorithms provided by STL.
+* Package *Dico* has been removed.
+  The code that used the tools provided by that package should be corrected manually.
+  The recommended approach is to use NCollection_DataMap and NCollection_IndexedDataMap classes.
 
 @subsection upgrade_occt710_correction_of_TObj_Model Correction in TObj_Model class
 
 Methods *TObj_Model::SaveAs* and *TObj_Model::Load* receive *TCollection_ExtendedString* filename arguments instead of char*. This shows that the filename may be not-ASCII explicitly. Also it makes OCAF API related to this functionality more conform.
+
+@subsection upgrade_710_env Removed environment variables
+
+The following environment variables are now either become optional or have been removed:
+
+* *CSF_UnitsLexicon* and *CSF_UnitsDefinition* are no more used.
+  Units definition (UnitsAPI/*Lexi_Expr.dat* and UnitsAPI/*Units.dat*) is now embedded into source code.
+* *CSF_XSMessage* and *CSF_XHMessage* are now optional.
+  English messages (XSMessage/*XSTEP.us* and SHMessage/*SHAPE.us*) are now embedded into source code
+  and automatically loaded when environment variables are not set.
+* *CSF_ShadersDirectory*.
+  Mandatory GLSL resources are now embedded into source code.
+
+Internally, embedded resource files are represented by .pxx (private) header files,
+automatically (re)generated by *genproj* tool or by CMake with *BUILD_RESOURCES* option turned ON.
+Since embedded resources are stored in OCCT git repository, they should be regenerated after modification of original text file before pushing patch for integration.
+But since this option modifies source code, *BUILD_RESOURCES* option is disabled by default to avoid conflict with out-of-source build concept.