occt: master f5f4ebd0

Author Committer Branch Timestamp Parent
abv abv master 2015-11-30 04:49:48 master 6595eee7
Affected Issues  0026936: Drawbacks of inlining in new type system in OCCT 7.0
Changeset 0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- manual

Restored possibility to have out-of-line implementation of DynamicCast() and STANDART_TYPE():
- Macro STANDARD_TYPE() now resolves to function get_type_descriptor() of the class
- Macro DEFINE_STANDARD_RTTI is replaced by two variants:
  - DEFINE_STANDARD_RTTI_INLINE works as before, defining DynamicCast() and get_type_descriptor() as inline functions
  - DEFINE_STANDARD_RTTIEXT declares DynamicCast() and get_type_descriptor() as exported
- Macro IMPLEMENT_STANDARD_RTTIEXT provides definition of DynamicCast() and get_type_descriptor() for a class

Upgrade script amended to replace DEFINE_STANDARD_RTTI by pair of DEFINE_STANDARD_RTTIEXT / IMPLEMENT_STANDARD_RTTIEXT if source file with the same name as header is found in the same folder, and by DEFINE_STANDARD_RTTI_INLINE if either source is not found or class is defined in the source (i.e. not in header)

Upgrade tool improved to recognize include statements with path prefix, like #include <occt/gp_Pnt.hxx>
Code corrected to eliminate warnings reported by upgrade tool.
Template of CXX file for testing upgrade tool added.

Documentation of upgrade procedure updated.
mod - adm/upgrade.tcl Diff File
add - adm/upgrade_sample_orig.dat Diff File
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/Cocoa/Cocoa_Window.hxx Diff File
mod - src/Cocoa/Cocoa_Window.mm Diff File
mod - src/Geom/Geom_OffsetCurve.cxx Diff File
mod - src/Geom2d/Geom2d_OffsetCurve.cxx Diff File
mod - src/Image/Image_AlienPixMap.cxx Diff File
mod - src/MAT2d/MAT2d_Circuit.cxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/QANCollection/QANCollection_Handle.cxx Diff File
mod - src/Standard/Standard_DefineHandle.hxx Diff File
mod - src/Standard/Standard_Transient.cxx Diff File
mod - src/Standard/Standard_Transient.hxx Diff File
mod - src/Standard/Standard_Type.cxx Diff File
mod - src/Standard/Standard_Type.hxx Diff File
mod - src/StepDimTol/StepDimTol_RunoutZoneDefinition.cxx Diff File
mod - src/StepDimTol/StepDimTol_RunoutZoneDefinition.hxx Diff File
mod - src/TDF/TDF_ClosureTool.cxx Diff File
mod - src/TDF/TDF_CopyTool.cxx Diff File
mod - src/WNT/WNT_Window.cxx Diff File
mod - src/XmlMXCAFDoc/XmlMXCAFDoc_LocationDriver.cxx Diff File
mod - src/Xw/Xw_Window.cxx Diff File