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
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:
* 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.