MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024023Open CASCADE[OCCT] OCCT:Foundation Classespublic2013-06-10 15:412018-07-15 11:15
Reporterfrpons 
Assigned Toabv 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version[OCCT] 6.6.0 
Target Version[OCCT] 7.0.0Fixed in Version[OCCT] 7.0.0 
Summary0024023: Revamp the OCCT Handle
DescriptionReplace the actual implementation of shared pointer used by OCCT (Handle) by a more modern solutions.
Additional information
and documentation updates
Forum thread
http://dev.opencascade.org/index.php?q=node/737 [^]
TagsNo tags attached.
Test case number
Attached Files

- Relationships
parent of 0024805closedapn Open CASCADE Eliminate unused static functions and methods: ShallowDump(), ShallowCopy(), STANDARD_TYPE(...) 
parent of 0024806closedbugmaster Open CASCADE Extend macro DEFINE_STANDARD_RTTI by additional argument specifying base class 
parent of 0024814closedabv Open CASCADE Avoid using explicit names of Handle classes 
parent of 0026373newabv Open CASCADE Merge NCollection_Handle with opencascade::handle 
parent of 0024947closedabv Open CASCADE Redesign OCCT legacy type system 
parent of 0029961verifiedbugmaster Open CASCADE Foundation Classes - NCollection_Shared constructor passes arguments by copy 
related to 0024870closedabv Open CASCADE Provide OCCT RTTI test cases 
related to 0026377closedabv Open CASCADE Passing Handle objects as arguments to functions as non-const reference to base type is dangerous 
related to 0026457closedabv Open CASCADE Failed build with OCCT_DEBUG enabled 
related to 0024895closedbugmaster Community 'PLUGINFACTORY' has C-linkage specified, but returns user-defined type 'Handle_Standard_Transient' which is incompatible with C 
related to 0026497closedbugmaster Community Restore explicit hierarchy of handles 
related to 0026549closedabv Open CASCADE Provide move constructors and operators for basic classes 
related to 0027104closedabv Community DownCast() cannot return null for mismatched handle 
related to 0027111closedabv Community Add generalized copy constructor in handle class for old compilers 
related to 0027563closedbugmaster Open CASCADE Foundation Classes, opencascade::handle - make operator*() consistent with operator->() 
child of 0024002closedabv Open CASCADE Overall code and build procedure refactoring 
Not all the children of this issue are yet resolved or closed.

-  Notes
(0024715)
abv (manager)
2013-06-10 16:05

To add technical details, here are some practical concerns for this revamping.
The main challenge is to do this keeping existing interface so as to avoid a need to update all existing OCCT-dependent code...

1. Interaction with RTTI

Handle classes are used together with OCCT-specific implementation of run-time type identification (RTTI). For that, specific methods IsKind(), DynamicType(), are added to each class manipulated by Handle, and static function Standard_Type_* is created to instantiate relevant type object.

The latter static function represents particular problem: it has to be instantiated in C++ code. This is (major) reason of existence of extra files with extension ixx in drv subfolder. It is very desirable to get rid of this necessity as this would allow to eliminate these unnecessary files.

A possible way for this is to use C++ RTTI (typeid, typeinfo, dynamic_cast) instead of OCCT-specific one.

2. Inheritance of Handle classes

Handle classes in OCCT inherit each other, reflecting inheritance of the handled classes. This allow Handles to be passed by reference in function arguments, which is not possible e.g. with boost smart pointers. This is quite useful feature, and it is highly desirable to keep it.

3. No weak handles

Handles do not provide weak pointers, would be worth adding.
(0024716)
abv (manager)
2013-06-10 16:11

Here is result of analysis of possibility to replace OCCT RTTI by standard C++ one, made by mpv:

-------

During the research of removal of "Standard_Type" class from OCCT performance in order to remove "RTTI" definitions is C++ code the next conclusions were achieved:

1. Modifications of "Standard" package must be serious, but most of them are simplification of existing code:
- remove Standard_Type and Standard_AncestorIterator classes
- # define STANDARD_TYPE(aType) typeid(aType)
- "typedef type_info Handle_Standard_Type;" in new Standard_Type.hxx for "imported Type;" in Standard.cdl
- remove "aType##_Type_()" method definitions from all atomic classes, like "Standard_Boolean_Type_()", so, some ".cxx" files also should be removed from "Standard" packages
- minor modification in WOK generated files: remove "class Standard_Type;" definition from all produced files
- changes in "HashCode" methods which use size of Standard_Type class

2. Modifications needed outside of "Standard" packages are minimal, like usage of Standard_AncestorIterator only in one method:
- Message_Algorithm::SendStatusMessages;

3. But serious limitation faced during this development is "IsKind" methods, used widely in OCCT sources. The problem is that the only method that can be used here is "dynamic_cast", but it is impossible to apply it on "type_info" object given as an argument. Visible solution here is usage of templates or macros instead of current API of "IsKind" method. But this requires serious changes in OCC sources and depended products and application.
(0028111)
abv (manager)
2014-03-04 08:21

One more point that could be addressed is incompatibility of Handle() macro with same-named class defined in CGAL library, described in
http://www.opencascade.org/org/forum/thread_23768/?forum=3 [^]
(0028192)
abv (manager)
2014-03-11 13:20

Idea by szv: we can provide transparent down casting for Handles, e.g.:

Handle(Geom_Curve) aC = ...;
Handle(Geom_BSplineCurve) aBspl = aC; // transparent down cast
(0028612)
abv (manager)
2014-04-02 08:59

One more feature desired from handles is to be able to interact correctly with namespaces. Current implementation has a problem in that: since Handle(Class) is expanded to Handle_Class, it does not work if Class is defined not in the current namespace and has to be prefixed by namespace name. This can be avoided either by changing the Handle definition to Class_Handle, or by switching to use of templates.
(0028613)
abv (manager)
2014-04-02 09:31

We will have to use macros to add standard definitions for OCCT RTTI in classes inheriting Transient anyway. Currently this is not a big problem since most of instances of such macros are generated from CDL. When we get rid of CDL, these macros become sources. Then it will be easy to get inconsistent definition of such macro vs. actual class definition (w.r.t. class name, base class name). Thus we need some tool to check such consistency -- either a checking script, or a C++ compile time assert (or both).
(0030463)
Roman Lygin (updater)
2014-07-29 11:13

Currently OCC handles offer the following two valuable advantages:

1. The least possible memory footprint. An extra cost is just a sizeof(int) for reference counter in the Standard_Transient.
    (We don't count sizeof(void*) for vtbl in Standard_Transient assuming that these are its own costs).
    This makes the handle an efficient alternative to shared_ptr when dealing with large number of objects where each byte counts.
    In comparison, extra footprint of std::shared_ptr in MSVS2010 is sizeof(void*) + 2 * sizeof (long) + sizeof (void*) + sizeof (void*)

2 Ability to traverse hiearchy of types (using Standard_AncestorIterator).
    Consider the following use case (from CAD Exchanger). There is a map (std::unordered_map) of {Handle_Standard_Type, V}, for instance a map of processors for entities.
    To find a value V for type T the map owner first finds if there is a direct record {T, V}. If not it searches for {Parent_of_T, V} and so on until it finds a record or
    finishes at {STANDARD_TYPE(Standard_Transient), V}. For example, this is used to process all Geom_Curve's in one way, and Geom_TrimmedCurve in some other way.
    
    Standard RTTI (std::type_info) does not provide the ability to retrieve a direct ancestor. It only allows to compare if one type_info is an ancestor
    (not necessarily immediate) of the other. Thus implementation of the above logic would hardly be possible.

So please consider the above points during refactoring.
Thank you.
(0030464)
Roman Lygin (updater)
2014-07-29 11:19

Regarding the above "transparent down casting for Handles, e.g.:

Handle(Geom_Curve) aC = ...;
Handle(Geom_BSplineCurve) aBspl = aC; // transparent down cast "

Please do NOT enable that !

This contradicts with strict type cast which C++ applies to the pointers (including shared_ptr). You should receive a compilation time error and address the issue in the compile, not in run time.

Handle is essentially a pointer and hence should inherit the same logic.

You should be able to write
Handle_Geom_Curve aC = aBspl;
but not the other way around.

Just like you would be able to write:
Geom_Curve* aCP = aBsplP; //where aBsplP is Geom_BSplineCurve
or
std::shared_ptr<Geom_Curve> aCSP = aBsplSP; //where aBsplSP is shared_ptr<Geom_BSplineCurve>

and not the other way around.

Detecting errors at compile time is the cheapest, so all the efforts should be applied to retain that.
(0042121)
git (administrator)
2015-06-12 09:09

Branch CR24023_4 has been created by abv.

SHA-1: 6762ff6c43d9d0786dac7b1c35ca85640e5fb292


Detailed log of new commits:

Author: abv
Date: Fri Jun 12 09:08:32 2015 +0300

    Next step...

Author: abv
Date: Tue Jun 9 06:27:30 2015 +0300

    First attempt to make non-inheriting handle

Author: abv
Date: Tue Apr 8 16:26:21 2014 +0400

    0024023: Revamp the OCCT Handle
    
    *** NOTE: THIS CHANGE IS INCOMPLETE ***
    
    Macro defining Handle class is replaced by template class implementing the same concept (defined in Standard_Handle.hxx and Standard_Transient.hxx).
    
    Header file Standard_DefineHandle.hxx becomes deprecated: the only useful macro DEFINE_STANDARD_RTTI is defined now in Standard_Type.hxx. Standard_DefineHandle.hxx is kept for compatibility, it defines macros previously used for definition of Handles and RTTI as empty.
    
    Definition of macro Handle() and STANDARD_TYPE() moved from Standard_Macro.hxx to Standard_Handle.hxx (new file) and Standard_Type.hxx, respectively.
    
    Conflicts:
        src/Standard/Standard_Macro.hxx
(0042174)
git (administrator)
2015-06-17 06:52

Branch CR24023_4 has been updated by abv.

SHA-1: 0dccaaa1c8f7fe8c59d098637fe6f1a92e2e792f


Detailed log of new commits:

Author: abv
Date: Wed Jun 17 06:52:06 2015 +0300

    Corrections

Author: abv
Date: Tue Jun 16 22:01:37 2015 +0300

    Automatic upgrade by occt_upgrade . -handle

Author: abv
Date: Tue Jun 16 21:39:52 2015 +0300

    Corrections in Handle

(0042290)
git (administrator)
2015-06-22 07:03

Branch CR24023_4 has been updated by abv.

SHA-1: 8fb25435452a8e50aba54ebaa6f888bdc4ab2f05


Detailed log of new commits:

Author: abv
Date: Mon Jun 22 07:02:42 2015 +0300

    Corrections in TKMath

Author: abv
Date: Sat Jun 20 20:30:22 2015 +0300

    TKernel made compilable

(0042323)
git (administrator)
2015-06-22 19:27

Branch CR24023_4 has been updated by abv.

SHA-1: ce40a2cf0903cc56ad9bdfe9861e72b2074fe3c6


Detailed log of new commits:

Author: abv
Date: Mon Jun 22 19:26:57 2015 +0300

    Added missing header

Author: abv
Date: Mon Jun 22 18:31:16 2015 +0300

    Conversion of handle to const & to another handle restricted to compatible types only; constructor from other handle and method reset() added; some ambiguities resolved

Author: abv
Date: Mon Jun 22 18:29:59 2015 +0300

    Clean-up of poor code in Modeling Data exhibited due to templated handle

Author: abv
Date: Mon Jun 22 11:51:55 2015 +0300

    HashCode() added for Handle

(0042433)
git (administrator)
2015-06-24 19:50

Branch CR24023_4 has been updated by abv.

SHA-1: a414f24a294a998d68e3d2bad84e9f5f01199593


Detailed log of new commits:

Author: abv
Date: Wed Jun 24 19:50:01 2015 +0300

    Next pack of code corrections...

Author: kgv
Date: Thu Apr 24 10:57:26 2014 +0400

    0024870: Provide OCCT RTTI test cases
    
    Test commands for checking performance and functionality of OCCT handles and RTTI added.
    New test case added for that: test perf fclasses handle

Author: abv
Date: Tue Jun 23 20:19:45 2015 +0300

    Forgotten changes in headers

Author: abv
Date: Tue Jun 23 19:30:05 2015 +0300

    Casting constructor of handle is made conditional (only for compatible types); operator casting to const reference to handle to base type is disabled for MSVC below below v12

Author: abv
Date: Tue Jun 23 19:28:12 2015 +0300

    Updates of rest of MOA and part of OCAF

Author: abv
Date: Tue Jun 23 15:17:49 2015 +0300

    Corrections in Handle and Standard_Persistent

Author: abv
Date: Tue Jun 23 14:47:23 2015 +0300

    Code adaptation for new Handle
    
    Adaptor3d_CurveOnSurface: added method Load() with two parameters, allowing to avoid ambiguity of cast of handles when calling separate methods Load() for curve and surface
    BOPAlgo, BOOPDS_DS, GeomInt, IntPatch, IntTools, BRepMAT2d, MAT2d, ShapeCustom: handle argument passed by reference made const
    BRepGProps, Law: removed typedefs that used Handle macro to define class name
    BRepMesh, ShapeFix: Includes of headers "Handle_...hxx" are removed
    IntPatch: direct cast of reference to handle replaced by DownCast()
    MAT, CDM: use This() method to initialize handle to class instance from within its const methods
    ShapeAnalysis: switch to use of remaining Append() method for sequences
    
    Missing headers added; wrong use of macro Handle() corrected.
    Code corrected to avoid ambiguous situations due to changed implementation of Handle.

(0042434)
git (administrator)
2015-06-25 06:38

Branch CR24023_5 has been created by abv.

SHA-1: 8c9ff1295f93592b641e467baccc764632964398


Detailed log of new commits:

Author: abv
Date: Thu Jun 25 00:47:17 2015 +0300

    0024023: Revamp the OCCT Handle - Nullify
    
    Assignment of handle to NULL replaced by call to method Nullify()

Author: abv
Date: Thu Jun 25 01:06:37 2015 +0300

    0024023: Revamp the OCCT Handle - unsorted

Author: abv
Date: Thu Jun 25 00:45:56 2015 +0300

    0024023: Revamp the OCCT Handle - cast
    
    Code corrected to eliminate passing object to function as non-const reference to handle of the base type.
    DownCast is used instead of C-style cast to handle to derived type.

Author: abv
Date: Thu Jun 25 00:37:41 2015 +0300

    0024023: Revamp the OCCT Handle - this
    
    Construction of handle from const pointer to class corrected to be explicit

Author: abv
Date: Wed Jun 24 23:40:44 2015 +0300

    0024023: Revamp the OCCT Handle - ambiguity
    
    Code corrected to avoid ambiguous situations due to changed implementation of Handle.
    
    In Adaptor3d_CurveOnSurface added method Load() with two parameters, allowing to avoid ambiguity of cast of handles when calling separate methods Load() for curve and surface, replacing by single call.
    
    In NCollection_DefineHSequence.hxx, method Append() from another HSequence is removed; Append() from Sequence is used instead.

Author: abv
Date: Thu Jun 25 00:39:28 2015 +0300

    0024023: Revamp the OCCT Handle - GC
    
    Implementation of operator of type casting to resulting object simplified in classes of GC and GCE2d packages

Author: abv
Date: Thu Jun 25 00:31:05 2015 +0300

    0024023: Revamp the OCCT Handle - general
    
    Missing headers added; includes of headers "Handle_...hxx" removed.
    Misuses of macro Handle() and its use in typedefs corrected.
    
    Alias classes Profile and Option are removed from IFSelect; ones defined in MoniTool are used directly.

Author: abv
Date: Tue Jun 16 22:01:37 2015 +0300

    Automatic upgrade by occt_upgrade . -handle

Author: abv
Date: Wed Jun 24 22:44:25 2015 +0300

    0024023: Revamp the OCCT Handle
    
    Macro defining Handle class is replaced by template class implementing the same concept (defined in Standard_Handle.hxx and Standard_Transient.hxx), opencascade::handle<>.
    
    Header file Standard_DefineHandle.hxx becomes deprecated: the only useful macro DEFINE_STANDARD_RTTI is defined now in Standard_Type.hxx. Standard_DefineHandle.hxx is kept for compatibility, it defines macros previously used for definition of Handles and RTTI as empty. Macro DEFINE_STANDARD_HANDLE(C1,C2) defining typedef "Handle_C1" to corresponding handle class is also kept for compatibility.
    
    Definitions of macro Handle() and STANDARD_TYPE() moved from Standard_Macro.hxx to Standard_Handle.hxx (new file) and Standard_Type.hxx, respectively.
(0042463)
git (administrator)
2015-06-25 18:07

Branch CR24023_5 has been updated by abv.

SHA-1: 207a313b9f539b537a20a1d53b8bc15928b410ec


Detailed log of new commits:

Author: abv
Date: Thu Jun 25 18:06:00 2015 +0300

    Added possibility to define maps manipulated by handle, via macro DEFINE_HMAP defined in NCollection_DefineHMap.hxx
    This is applied in visualization to use normal handles instead of NCollection_Handle<>

Author: abv
Date: Thu Jun 25 17:14:41 2015 +0300

    0024023: Revamp the OCCT Handle - general 3
    
    Separate header files defining Handle classes removed (except Image_PixMap_Handle.hxx)

Author: abv
Date: Thu Jun 25 14:58:31 2015 +0300

    0024023: Revamp the OCCT Handle - ambiguity 2
    
    Ambiguities resolved
    
    Second argument made non-default in method IGESData_IGESWriter::Send() having entity argument to force flag to be always passed explicitly

Author: abv
Date: Thu Jun 25 14:44:11 2015 +0300

    0024023: Revamp the OCCT Handle - general 2
    
    Missing headers added

Author: abv
Date: Thu Jun 25 14:39:10 2015 +0300

    Added DownCast(ptr)

(0042470)
git (administrator)
2015-06-26 06:32

Branch CR24023_5 has been updated by abv.

SHA-1: c8e2a1c707baeceb9e11c64db0591f9e94069f7b


Detailed log of new commits:

Author: abv
Date: Fri Jun 26 06:32:08 2015 +0300

    HashCode() for Standard_Transient*

Author: abv
Date: Fri Jun 26 06:31:41 2015 +0300

    Further adaptations

(0042513)
git (administrator)
2015-06-26 19:29

Branch CR24023_6 has been created by abv.

SHA-1: 4b1318dce6cb0c3434538f318217f529820f83c8


Detailed log of new commits:

Author: abv
Date: Fri Jun 26 18:20:13 2015 +0300

    0024023: Revamp the OCCT Handle -- ambiguity
    
    Code corrected to avoid ambiguous situations due to changed implementation of Handle (overloaded methods accepting handles of different types).
    
    In Adaptor3d_CurveOnSurface added method Load() with two parameters, allowing to avoid ambiguity of cast of handles when calling separate methods Load() for curve and surface, replacing by single call.
    
    In NCollection_DefineHSequence.hxx, method Append() with handle to another HSequence as argument is removed; Append() from Sequence is used instead.
    
    Second argument made non-default in method IGESData_IGESWriter::Send() with entity argument, to force flag to be always passed explicitly.
    
    In DrawTrSurf and IGESData_IGESWriter, template variants of methods Set() and Send(), respectively, are added to avoid ambiguity when these methods are called with handles to derived types (using SFINAE).

Author: abv
Date: Fri Jun 26 12:23:30 2015 +0300

    0024023: Revamp the OCCT Handle -- plugin
    
    Definition of PLUGINFACTORY function changed to return Standard_Transient* instead of Handle(Standard_Transient), which cannot be returned by C-style function.
    Default implementation of PLUGINFACTORY() instantiated by macro PLUGIN() now keeps static instance of the factory object, initialized once (at the first call).

Author: abv
Date: Thu Jun 25 00:39:28 2015 +0300

    0024023: Revamp the OCCT Handle -- GC
    
    Implementation of operator of type casting to resulting object simplified in classes of GC and GCE2d packages

Author: abv
Date: Fri Jun 26 18:17:15 2015 +0300

    0024023: Revamp the OCCT Handle -- downcast
    
    C-style cast of Handle to that of derived type (now illegal) is replaced by call to DownCast()

Author: abv
Date: Fri Jun 26 18:17:07 2015 +0300

    0024023: Revamp the OCCT Handle -- general
    
    Missing headers added; includes of headers "Handle_...hxx" removed.
    
    Misuses of macro Handle() and its use in typedefs corrected.
    
    Alias classes Profile and Option are removed from IFSelect; ones defined in MoniTool are used directly.
    
    Removed header files defining only Handle classes (except Image_PixMap_Handle.hxx)
    
    Classes SelectMgr_BaseFrustum and now inherit Standard_Transient and can be manipulated by Handle (not NCollection_Handle)

Author: abv
Date: Tue Jun 16 22:01:37 2015 +0300

    Automatic upgrade by occt_upgrade . -handle

Author: abv
Date: Wed Jun 24 22:44:25 2015 +0300

    0024023: Revamp the OCCT Handle -- handle
    
    Macro defining Handle class is replaced by template class implementing the same concept (defined in Standard_Handle.hxx and Standard_Transient.hxx), opencascade::handle<>.
    
    Header file Standard_DefineHandle.hxx becomes deprecated: the only useful macro DEFINE_STANDARD_RTTI is defined now in Standard_Type.hxx. Standard_DefineHandle.hxx is kept for compatibility, it defines macros previously used for definition of Handles and RTTI as empty. Macro DEFINE_STANDARD_HANDLE(C1,C2) is also kept for compatibility; now it expands to typedef "Handle_C1" to corresponding handle class.
    
    Definitions of macro Handle() and STANDARD_TYPE() moved from Standard_Macro.hxx to Standard_Handle.hxx (new file) and Standard_Type.hxx, respectively.
    
    New template class NCollection_Shared added, allowing to define sub-class manipulated by handle, for any non-transient class.
(0042514)
abv (manager)
2015-06-26 19:34

Branch CR24023_6 contains first working version of the new templated handles, see details in commit messages above. This version is minimalistic in terms of efforts needed to port dependent code, yet these efforts are quite considerable. Porting notes are to come...
(0042516)
git (administrator)
2015-06-28 14:50

Branch CR24023_6 has been updated forcibly by abv.

SHA-1: 81f8947a5901ca03ba237023ab01b03aa3c7edad
(0043256)
git (administrator)
2015-07-22 07:35

Branch CR24023_6 has been deleted by abv.

SHA-1: 81f8947a5901ca03ba237023ab01b03aa3c7edad
(0043257)
git (administrator)
2015-07-22 07:37

Branch CR24023_4 has been deleted by abv.

SHA-1: a414f24a294a998d68e3d2bad84e9f5f01199593
(0043258)
git (administrator)
2015-07-22 07:41

Branch CR24023_5 has been deleted by abv.

SHA-1: c8e2a1c707baeceb9e11c64db0591f9e94069f7b
(0043306)
git (administrator)
2015-07-22 16:27

Branch CR24023_qatests has been deleted by abv.

SHA-1: 5d991862cf6abb71971461a0e030326315f35331
(0043310)
git (administrator)
2015-07-22 16:40

Branch CR24023_downcast has been deleted by abv.

SHA-1: 0b89c53dc07d0b82241dcbfed46df3f26390bba0
(0043312)
git (administrator)
2015-07-22 16:45

Branch CR24023 has been deleted by abv.

SHA-1: 7a4756ea8075fa9bbf006ea3c1434703151a42ff
(0043315)
git (administrator)
2015-07-22 16:51

Branch CR24023_new has been deleted by abv.

SHA-1: d3b1f1edc2e737540ce7ec29ebf4f2626d167e16

- Related Changesets
occt: master 83eaf3e8
Timestamp: 2015-06-24 21:39:28
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- GC

Implementation of operator of type casting to resulting object simplified in classes of GC and GCE2d packages
mod - src/GC/GC_MakeArcOfCircle.cdl Diff ] File ]
mod - src/GC/GC_MakeArcOfCircle.cxx Diff ] File ]
mod - src/GC/GC_MakeArcOfEllipse.cdl Diff ] File ]
mod - src/GC/GC_MakeArcOfEllipse.cxx Diff ] File ]
mod - src/GC/GC_MakeArcOfHyperbola.cdl Diff ] File ]
mod - src/GC/GC_MakeArcOfHyperbola.cxx Diff ] File ]
mod - src/GC/GC_MakeArcOfParabola.cdl Diff ] File ]
mod - src/GC/GC_MakeArcOfParabola.cxx Diff ] File ]
mod - src/GC/GC_MakeCircle.cdl Diff ] File ]
mod - src/GC/GC_MakeCircle.cxx Diff ] File ]
mod - src/GC/GC_MakeConicalSurface.cdl Diff ] File ]
mod - src/GC/GC_MakeConicalSurface.cxx Diff ] File ]
mod - src/GC/GC_MakeCylindricalSurface.cdl Diff ] File ]
mod - src/GC/GC_MakeCylindricalSurface.cxx Diff ] File ]
mod - src/GC/GC_MakeEllipse.cdl Diff ] File ]
mod - src/GC/GC_MakeEllipse.cxx Diff ] File ]
mod - src/GC/GC_MakeHyperbola.cdl Diff ] File ]
mod - src/GC/GC_MakeHyperbola.cxx Diff ] File ]
mod - src/GC/GC_MakeLine.cdl Diff ] File ]
mod - src/GC/GC_MakeLine.cxx Diff ] File ]
mod - src/GC/GC_MakeMirror.cdl Diff ] File ]
mod - src/GC/GC_MakeMirror.cxx Diff ] File ]
mod - src/GC/GC_MakePlane.cdl Diff ] File ]
mod - src/GC/GC_MakePlane.cxx Diff ] File ]
mod - src/GC/GC_MakeRotation.cdl Diff ] File ]
mod - src/GC/GC_MakeRotation.cxx Diff ] File ]
mod - src/GC/GC_MakeScale.cdl Diff ] File ]
mod - src/GC/GC_MakeScale.cxx Diff ] File ]
mod - src/GC/GC_MakeSegment.cdl Diff ] File ]
mod - src/GC/GC_MakeSegment.cxx Diff ] File ]
mod - src/GC/GC_MakeTranslation.cdl Diff ] File ]
mod - src/GC/GC_MakeTranslation.cxx Diff ] File ]
mod - src/GC/GC_MakeTrimmedCone.cdl Diff ] File ]
mod - src/GC/GC_MakeTrimmedCone.cxx Diff ] File ]
mod - src/GC/GC_MakeTrimmedCylinder.cdl Diff ] File ]
mod - src/GC/GC_MakeTrimmedCylinder.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfCircle.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfCircle.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfEllipse.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfEllipse.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfHyperbola.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfHyperbola.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfParabola.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeArcOfParabola.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeCircle.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeCircle.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeEllipse.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeEllipse.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeHyperbola.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeHyperbola.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeLine.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeLine.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeMirror.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeMirror.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeParabola.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeParabola.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeRotation.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeRotation.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeScale.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeScale.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeSegment.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeSegment.cxx Diff ] File ]
mod - src/GCE2d/GCE2d_MakeTranslation.cdl Diff ] File ]
mod - src/GCE2d/GCE2d_MakeTranslation.cxx Diff ] File ]
occt: master 7f22979e
Timestamp: 2015-06-24 21:45:56
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle - non-cost reference cast

Code corrected to avoid passing object to function as non-const reference to handle of the base type where it is not necessary.
mod - src/BOPAlgo/BOPAlgo_PaveFiller.hxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Tools.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Tools.hxx Diff ] File ]
mod - src/BOPDS/BOPDS_DS.cxx Diff ] File ]
mod - src/BOPDS/BOPDS_DS.hxx Diff ] File ]
mod - src/BRepBlend/BRepBlend_AppSurface.cxx Diff ] File ]
mod - src/BRepBlend/BRepBlend_AppSurface.hxx Diff ] File ]
mod - src/BRepMAT2d/BRepMAT2d_Explorer.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_0.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_6.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_C1.cxx Diff ] File ]
mod - src/GeomInt/GeomInt_IntSS_1.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_ImpPrmIntersection.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_RstInt.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_RstInt.hxx Diff ] File ]
mod - src/MAT2d/MAT2d_Tool2d.cxx Diff ] File ]
mod - src/ShapeCustom/ShapeCustom_BSplineRestriction.cxx Diff ] File ]
mod - src/ShapeCustom/ShapeCustom_BSplineRestriction.hxx Diff ] File ]
mod - src/TDataStd/TDataStd_Expression.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_Relation.cxx Diff ] File ]
occt: master ce8b059a
Timestamp: 2015-06-29 06:17:43
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- plugin

Definition of PLUGINFACTORY function changed to return Standard_Transient* instead of Handle(Standard_Transient), which cannot be returned by C-style function.
Default implementation of PLUGINFACTORY() instantiated by macro PLUGIN() is corrected accordingly.
Methods Factory() in persistence packages are made returning const & to handle; this is to reflect the fact that returned handle should point to existing object (usually statically allocated) rather than new one.
mod - src/BinDrivers/BinDrivers.cdl Diff ] File ]
mod - src/BinDrivers/BinDrivers.cxx Diff ] File ]
mod - src/BinLDrivers/BinLDrivers.cdl Diff ] File ]
mod - src/BinLDrivers/BinLDrivers.cxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers.cxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers.hxx Diff ] File ]
mod - src/BinXCAFDrivers/BinXCAFDrivers.cdl Diff ] File ]
mod - src/BinXCAFDrivers/BinXCAFDrivers.cxx Diff ] File ]
mod - src/FWOSDriver/FWOSDriver.cdl Diff ] File ]
mod - src/FWOSDriver/FWOSDriver.cxx Diff ] File ]
mod - src/Plugin/Plugin.cxx Diff ] File ]
mod - src/Plugin/Plugin_Macro.hxx Diff ] File ]
mod - src/XmlDrivers/XmlDrivers.cdl Diff ] File ]
mod - src/XmlDrivers/XmlDrivers.cxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers.cdl Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers.cxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers.cxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers.hxx Diff ] File ]
mod - src/XmlXCAFDrivers/XmlXCAFDrivers.cdl Diff ] File ]
mod - src/XmlXCAFDrivers/XmlXCAFDrivers.cxx Diff ] File ]
occt: master c04c30b3
Timestamp: 2015-06-30 07:25:12
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- general

Missing headers added; includes of headers "Handle_...hxx" removed.

Misuses of macro Handle() and its use in typedefs corrected.

Alias classes Profile and Option are removed from IFSelect; ones defined in MoniTool are used directly.

Removed header files defining only Handle classes (except Image_PixMap_Handle.hxx)

Classes SelectMgr_BaseFrustum and now inherit Standard_Transient and can be manipulated by Handle (not NCollection_Handle)

Fixed reference-type local variable pointing to temporary object

Use of handle in conditional expressions and comparisons to NULL are replaced by call to method IsNull()
mod - src/AIS/AIS_AngleDimension.hxx Diff ] File ]
mod - src/AIS/AIS_DiameterDimension.hxx Diff ] File ]
mod - src/AIS/AIS_Dimension.hxx Diff ] File ]
mod - src/AIS/AIS_GraphicTool.cxx Diff ] File ]
mod - src/AIS/AIS_InteractiveContext.cxx Diff ] File ]
mod - src/AIS/AIS_InteractiveContext_2.cxx Diff ] File ]
mod - src/AIS/AIS_MaxRadiusDimension.cxx Diff ] File ]
mod - src/AIS/AIS_MinRadiusDimension.cxx Diff ] File ]
mod - src/AIS/AIS_PointCloud.hxx Diff ] File ]
mod - src/AIS/AIS_RadiusDimension.hxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers_DocumentRetrievalDriver.cxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers_DocumentStorageDriver.cxx Diff ] File ]
mod - src/BinTools/BinTools_ShapeSet.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx Diff ] File ]
mod - src/BOPDS/BOPDS_ListOfPaveBlock.hxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools2D.cxx Diff ] File ]
mod - src/BRepCheck/BRepCheck_Solid.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Filling.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Sweep.cxx Diff ] File ]
mod - src/BRepGProp/BRepGProp_Gauss.cxx Diff ] File ]
mod - src/BRepGProp/BRepGProp_Gauss.hxx Diff ] File ]
mod - src/BRepMAT2d/BRepMAT2d_BisectingLocus.cxx Diff ] File ]
mod - src/BRepMAT2d/BRepMAT2d_Explorer.cxx Diff ] File ]
mod - src/BRepMesh/BRepMesh.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_EdgeTessellationExtractor.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_FastDiscretFace.cxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_ShapeTool.hxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Inter2d.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_MakeOffset.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Offset.cxx Diff ] File ]
mod - src/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx Diff ] File ]
mod - src/BRepTest/BRepTest_BasicCommands.cxx Diff ] File ]
mod - src/BRepTest/BRepTest_FilletCommands.cxx Diff ] File ]
mod - src/BRepTools/BRepTools_Modifier.cxx Diff ] File ]
mod - src/BRepTools/BRepTools_ShapeSet.cxx Diff ] File ]
mod - src/BVH/BVH.cxx Diff ] File ]
mod - src/ChFi2d/ChFi2d_ChamferAPI.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_2.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_C2.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_CnCrn.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_SpKP.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_ChBuilder_C3.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_FilBuilder_C2.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_FilBuilder_C3.cxx Diff ] File ]
mod - src/DBRep/DBRep_IsoBuilder.cxx Diff ] File ]
mod - src/Draw/Draw_VariableCommands.cxx Diff ] File ]
mod - src/DrawFairCurve/DrawFairCurve_Batten.cxx Diff ] File ]
mod - src/Expr/Expr_Array1OfNamedUnknown.hxx Diff ] File ]
mod - src/Font/Font_BRepFont.cxx Diff ] File ]
mod - src/Geom/Geom_Axis1Placement.cxx Diff ] File ]
mod - src/Geom/Geom_Axis2Placement.cxx Diff ] File ]
mod - src/Geom/Geom_AxisPlacement.cxx Diff ] File ]
mod - src/Geom/Geom_CartesianPoint.cxx Diff ] File ]
mod - src/Geom/Geom_Circle.cxx Diff ] File ]
mod - src/Geom/Geom_ConicalSurface.cxx Diff ] File ]
mod - src/Geom/Geom_Curve.cxx Diff ] File ]
mod - src/Geom/Geom_CylindricalSurface.cxx Diff ] File ]
mod - src/Geom/Geom_Direction.cxx Diff ] File ]
mod - src/Geom/Geom_ElementarySurface.cxx Diff ] File ]
mod - src/Geom/Geom_Ellipse.cxx Diff ] File ]
mod - src/Geom/Geom_Geometry.cxx Diff ] File ]
mod - src/Geom/Geom_Hyperbola.cxx Diff ] File ]
mod - src/Geom/Geom_OffsetCurve.cxx Diff ] File ]
mod - src/Geom/Geom_OffsetSurface.cxx Diff ] File ]
mod - src/Geom/Geom_Parabola.cxx Diff ] File ]
mod - src/Geom/Geom_Plane.cxx Diff ] File ]
mod - src/Geom/Geom_Point.cxx Diff ] File ]
mod - src/Geom/Geom_RectangularTrimmedSurface.cxx Diff ] File ]
mod - src/Geom/Geom_SphericalSurface.cxx Diff ] File ]
mod - src/Geom/Geom_Surface.cxx Diff ] File ]
mod - src/Geom/Geom_SurfaceOfLinearExtrusion.cxx Diff ] File ]
mod - src/Geom/Geom_SurfaceOfRevolution.cxx Diff ] File ]
mod - src/Geom/Geom_ToroidalSurface.cxx Diff ] File ]
mod - src/Geom/Geom_Transformation.cxx Diff ] File ]
mod - src/Geom/Geom_TrimmedCurve.cxx Diff ] File ]
mod - src/Geom/Geom_Vector.cxx Diff ] File ]
mod - src/Geom/Geom_VectorWithMagnitude.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_AxisPlacement.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_CartesianPoint.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Circle.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Curve.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Direction.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Ellipse.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Geometry.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Hyperbola.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Line.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_OffsetCurve.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Parabola.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Point.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Transformation.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_TrimmedCurve.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_Vector.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_VectorWithMagnitude.cxx Diff ] File ]
mod - src/Geom2dConvert/Geom2dConvert.cxx Diff ] File ]
mod - src/Geom2dConvert/Geom2dConvert_BSplineCurveKnotSplitting.cxx Diff ] File ]
mod - src/Geom2dGcc/Geom2dGcc_Circ2dTanCen.cxx Diff ] File ]
mod - src/Geom2dGcc/Geom2dGcc_Circ2dTanOnRad.cxx Diff ] File ]
mod - src/GeomConvert/GeomConvert.cxx Diff ] File ]
mod - src/GeomConvert/GeomConvert_1.cxx Diff ] File ]
mod - src/GeomConvert/GeomConvert_BSplineCurveKnotSplitting.cxx Diff ] File ]
mod - src/GeomConvert/GeomConvert_BSplineSurfaceKnotSplitting.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_ConstrainedFilling.cxx Diff ] File ]
mod - src/GeomPlate/GeomPlate_BuildPlateSurface.cxx Diff ] File ]
mod - src/GeomPlate/GeomPlate_CurveConstraint.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeBoundedCurve.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeBoundedSurface.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeCircle.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeConic.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeCurve.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeElementarySurface.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeEllipse.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeHyperbola.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeParabola.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeSurface.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeSweptSurface.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_CAspectMarker.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_ClipPlane.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_CStructure.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_MapOfStructure.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_MarkerImage.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_MarkerImage.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_NMapOfTransient.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_ShaderProgram.hxx Diff ] File ]
mod - src/IFSelect/IFSelect.cdl Diff ] File ]
mod - src/IFSelect/IFSelect_Activator.cxx Diff ] File ]
mod - src/IFSelect/IFSelect_Functions.cxx Diff ] File ]
mod - src/IFSelect/IFSelect_SessionFile.cxx Diff ] File ]
mod - src/IGESCAFControl/IGESCAFControl_Writer.cxx Diff ] File ]
mod - src/IGESControl/IGESControl_ActorWrite.cxx Diff ] File ]
mod - src/IGESControl/IGESControl_Controller.cxx Diff ] File ]
mod - src/IGESControl/IGESControl_Writer.cxx Diff ] File ]
mod - src/IGESData/IGESData_IGESDumper.cxx Diff ] File ]
mod - src/IGESSelect/IGESSelect_SelectDrawingFrom.cxx Diff ] File ]
mod - src/IGESSelect/IGESSelect_SelectFromDrawing.cxx Diff ] File ]
mod - src/IGESSelect/IGESSelect_SelectFromSingleView.cxx Diff ] File ]
mod - src/IGESSelect/IGESSelect_SelectSingleViewFrom.cxx Diff ] File ]
mod - src/IGESSelect/IGESSelect_WorkLibrary.cxx Diff ] File ]
mod - src/IGESToBRep/IGESToBRep_CurveAndSurface.lxx Diff ] File ]
mod - src/IntPatch/IntPatch_RstInt.cxx Diff ] File ]
mod - src/IntPolyh/IntPolyh_MaillageAffinage.cxx Diff ] File ]
mod - src/IVtk/IVtk_Interface.hxx Diff ] File ]
mod - src/IVtk/IVtk_IShape.hxx Diff ] File ]
mod - src/IVtk/IVtk_IShapeData.hxx Diff ] File ]
mod - src/IVtk/IVtk_IShapeMesher.hxx Diff ] File ]
mod - src/IVtk/IVtk_IShapePickerAlgo.hxx Diff ] File ]
mod - src/IVtk/IVtk_IView.hxx Diff ] File ]
mod - src/IVtkDraw/IVtkDraw.cxx Diff ] File ]
mod - src/IVtkDraw/IVtkDraw_HighlightAndSelectionPipeline.hxx Diff ] File ]
mod - src/IVtkOCC/IVtkOCC_SelectableObject.cxx Diff ] File ]
mod - src/IVtkOCC/IVtkOCC_Shape.hxx Diff ] File ]
mod - src/IVtkOCC/IVtkOCC_ShapeMesher.cxx Diff ] File ]
mod - src/IVtkOCC/IVtkOCC_ShapeMesher.hxx Diff ] File ]
mod - src/IVtkOCC/IVtkOCC_ShapePickerAlgo.cxx Diff ] File ]
mod - src/IVtkOCC/IVtkOCC_ShapePickerAlgo.hxx Diff ] File ]
mod - src/IVtkTools/IVtkTools_ShapeDataSource.cxx Diff ] File ]
mod - src/IVtkVTK/IVtkVTK_ShapeData.hxx Diff ] File ]
mod - src/IVtkVTK/IVtkVTK_View.hxx Diff ] File ]
mod - src/Law/Law_BSplineKnotSplitting.cxx Diff ] File ]
mod - src/LDOM/FILES Diff ] File ]
rm - src/LDOM/Handle_LDOM_MemManager.hxx Diff ] File ]
mod - src/LDOM/LDOMString.hxx Diff ] File ]
mod - src/LDOM/LDOM_Document.hxx Diff ] File ]
mod - src/LDOM/LDOM_MemManager.hxx Diff ] File ]
mod - src/LDOM/LDOM_Node.hxx Diff ] File ]
mod - src/MeshVS/MeshVS_PrsBuilder.cxx Diff ] File ]
mod - src/Message/Message_Algorithm.cxx Diff ] File ]
mod - src/Message/Message_HArrayOfMsg.hxx Diff ] File ]
mod - src/MoniTool/MoniTool_DataMapOfTimer.hxx Diff ] File ]
mod - src/MoniTool/MoniTool_ValueInterpret.hxx Diff ] File ]
mod - src/NCollection/NCollection_WinHeapAllocator.cxx Diff ] File ]
mod - src/OpenGl/FILES Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_Context.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_FrameBuffer.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_GraphicDriver.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_PointSprite.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_Sampler.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_ShaderManager.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_ShaderObject.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_ShaderProgram.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_Texture.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_View.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_Window.hxx Diff ] File ]
rm - src/OpenGl/Handle_OpenGl_Workspace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectFace.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectFace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectLine.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectMarker.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectText.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_BackgroundArray.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BVHClipPrimitiveSet.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BVHTreeSelector.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_CappingAlgo.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_CappingAlgo.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_CappingPlaneResource.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Clipping.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Context.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Context.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Element.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_FrameBuffer.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraduatedTrihedron.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Group.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Layer.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_LayerList.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_PointSprite.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_RenderFilter.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Sampler.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_SceneGeometry.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderObject.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderProgram.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_StructureShadow.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Text.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Text.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Texture.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Trihedron.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_2.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Window.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Window.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace_2.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace_5.cxx Diff ] File ]
mod - src/Poly/Poly_MakeLoops.hxx Diff ] File ]
mod - src/Prs3d/Prs3d_Drawer.hxx Diff ] File ]
mod - src/Prs3d/Prs3d_WFShape.hxx Diff ] File ]
mod - src/PrsMgr/PrsMgr_Presentation.lxx Diff ] File ]
mod - src/PrsMgr/PrsMgr_PresentationManager.lxx Diff ] File ]
mod - src/QABugs/QABugs_11.cxx Diff ] File ]
mod - src/QABugs/QABugs_19.cxx Diff ] File ]
mod - src/RWHeaderSection/RWHeaderSection_GeneralModule.cxx Diff ] File ]
mod - src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx Diff ] File ]
mod - src/RWStepShape/RWStepShape_RWSeamEdge.cxx Diff ] File ]
mod - src/Select3D/Select3D_EntitySequence.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_BaseFrustum.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_IndexedMapOfOwner.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SelectableObject.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_Selection.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SelectionManager.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_TriangularFrustum.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_TriangularFrustumSet.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_TriangularFrustumSet.hxx Diff ] File ]
mod - src/ShapeAnalysis/ShapeAnalysis_Curve.cxx Diff ] File ]
mod - src/ShapeFix/ShapeFix_Wire.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_ShapeDivideAngle.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_ShapeDivideClosed.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_ShapeDivideClosedEdges.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_ShellSewing.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_SplitCurve.cxx Diff ] File ]
mod - src/StdPrs/StdPrs_WFDeflectionRestrictedFace.cxx Diff ] File ]
mod - src/StdPrs/StdPrs_WFRestrictedFace.cxx Diff ] File ]
mod - src/StepAP209/StepAP209_Construct.cxx Diff ] File ]
mod - src/StepAP214/StepAP214_Protocol.cxx Diff ] File ]
mod - src/STEPCAFControl/STEPCAFControl_Reader.cxx Diff ] File ]
mod - src/STEPCAFControl/STEPCAFControl_Writer.cxx Diff ] File ]
mod - src/STEPConstruct/STEPConstruct_AP203Context.cxx Diff ] File ]
mod - src/STEPConstruct/STEPConstruct_ContextTool.cxx Diff ] File ]
mod - src/STEPControl/STEPControl_ActorWrite.cxx Diff ] File ]
mod - src/STEPControl/STEPControl_Controller.cxx Diff ] File ]
mod - src/StepData/StepData_DefaultGeneral.cxx Diff ] File ]
mod - src/STEPEdit/STEPEdit.cxx Diff ] File ]
mod - src/STEPEdit/STEPEdit_EditContext.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_PointPairHasher.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateCurveBoundedSurface.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdgeLoop.cxx Diff ] File ]
mod - src/Storage/Storage_ArrayOfSchema.hxx Diff ] File ]
mod - src/TDF/TDF_AttributeIndexedMap.hxx Diff ] File ]
mod - src/TDF/TDF_Label.lxx Diff ] File ]
mod - src/TDocStd/TDocStd_ApplicationDelta.cxx Diff ] File ]
mod - src/TDocStd/TDocStd_Document.cxx Diff ] File ]
mod - src/TDocStd/TDocStd_MultiTransactionManager.cxx Diff ] File ]
mod - src/TestTopOpeDraw/TestTopOpeDraw_Displayer.cxx Diff ] File ]
mod - src/TObj/FILES Diff ] File ]
rm - src/TObj/Handle_TObj_Model.hxx Diff ] File ]
rm - src/TObj/Handle_TObj_Object.hxx Diff ] File ]
mod - src/TObj/TObj_Assistant.hxx Diff ] File ]
mod - src/TObj/TObj_Model.hxx Diff ] File ]
mod - src/TObj/TObj_Object.hxx Diff ] File ]
mod - src/TObj/TObj_ObjectIterator.hxx Diff ] File ]
mod - src/TObj/TObj_SequenceOfObject.hxx Diff ] File ]
mod - src/TObj/TObj_TModel.hxx Diff ] File ]
mod - src/TObj/TObj_TNameContainer.hxx Diff ] File ]
mod - src/TObj/TObj_TReference.hxx Diff ] File ]
mod - src/TopoDS/TopoDS_Shape.lxx Diff ] File ]
mod - src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx Diff ] File ]
mod - src/TopoDSToStep/TopoDSToStep_MakeStepFace.cxx Diff ] File ]
mod - src/TopoDSToStep/TopoDSToStep_WireframeBuilder.cxx Diff ] File ]
mod - src/Transfer/Transfer_ActorOfFinderProcess.cxx Diff ] File ]
mod - src/Transfer/Transfer_ActorOfTransientProcess.cxx Diff ] File ]
mod - src/V3d/V3d_Plane.cxx Diff ] File ]
mod - src/V3d/V3d_Plane.hxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff ] File ]
mod - src/Visual3d/Visual3d_Layer.cxx Diff ] File ]
mod - src/Visual3d/Visual3d_View.cxx Diff ] File ]
mod - src/VrmlData/VrmlData_ShapeConvert.hxx Diff ] File ]
mod - src/XCAFDoc/XCAFDoc_GraphNodeSequence.hxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.cxx Diff ] File ]
mod - src/XmlMNaming/XmlMNaming_NamedShapeDriver.cxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers_DocumentRetrievalDriver.cxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers_DocumentStorageDriver.cxx Diff ] File ]
mod - src/XSControl/XSControl.cdl Diff ] File ]
mod - src/XSControl/XSControl_Controller.cdl Diff ] File ]
mod - src/XSControl/XSControl_Controller.cxx Diff ] File ]
mod - src/XSControl/XSControl_Functions.cxx Diff ] File ]
mod - src/XSControl/XSControl_TransferWriter.cxx Diff ] File ]
mod - src/XSControl/XSControl_WorkSession.cxx Diff ] File ]
occt: master e7195ab4
Timestamp: 2015-07-01 08:00:57
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- handle

Macro defining Handle class is replaced by template class implementing the same concept (defined in Standard_Handle.hxx and Standard_Transient.hxx), opencascade::handle<>.

Header file Standard_DefineHandle.hxx becomes deprecated: the only useful macro DEFINE_STANDARD_RTTI is defined now in Standard_Type.hxx. Standard_DefineHandle.hxx is kept for compatibility, it defines macros previously used for definition of Handles and RTTI as empty. Macro DEFINE_STANDARD_HANDLE(C1,C2) is also kept for compatibility; now it expands to typedef "Handle_C1" to corresponding handle class.

Definitions of macro Handle() and STANDARD_TYPE() moved from Standard_Macro.hxx to Standard_Handle.hxx (new file) and Standard_Type.hxx, respectively.

New template class NCollection_Shared added, allowing to define sub-class manipulated by handle, for any non-transient class.

Adaptations for compiling with GCC 4.7
mod - src/NCollection/FILES Diff ] File ]
mod - src/NCollection/NCollection_DefineHSequence.hxx Diff ] File ]
rm - src/NCollection/NCollection_Handle.cxx Diff ] File ]
mod - src/NCollection/NCollection_Handle.hxx Diff ] File ]
add - src/NCollection/NCollection_Shared.hxx Diff ] File ]
mod - src/Standard/FILES Diff ] File ]
rm - src/Standard/Handle_Standard_Persistent.cxx Diff ] File ]
rm - src/Standard/Handle_Standard_Persistent.hxx Diff ] File ]
rm - src/Standard/Handle_Standard_Transient.cxx Diff ] File ]
rm - src/Standard/Handle_Standard_Transient.hxx Diff ] File ]
mod - src/Standard/Standard.cdl Diff ] File ]
mod - src/Standard/Standard_Copy.tcl Diff ] File ]
mod - src/Standard/Standard_DefineHandle.hxx Diff ] File ]
add - src/Standard/Standard_Handle.hxx Diff ] File ]
rm - src/Standard/Standard_HashCode.cxx Diff ] File ]
mod - src/Standard/Standard_Macro.hxx Diff ] File ]
mod - src/Standard/Standard_Persistent.cdl Diff ] File ]
mod - src/Standard/Standard_Transient.cxx Diff ] File ]
mod - src/Standard/Standard_Transient.hxx Diff ] File ]
rm - src/Standard/Standard_Transient_proto.hxx Diff ] File ]
mod - src/Standard/Standard_Type.cxx Diff ] File ]
mod - src/Standard/Standard_Type.hxx Diff ] File ]
occt: master 35c0599a
Timestamp: 2015-07-02 13:30:15
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- automatic

Automatic upgrade by command "occt_upgrade . -handle"
mod - src/AIS/AIS_LengthDimension.hxx Diff ] File ]
mod - src/AIS/AIS_MultipleConnectedInteractive.cxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers.hxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers_DocumentRetrievalDriver.hxx Diff ] File ]
mod - src/BinTObjDrivers/BinTObjDrivers_DocumentStorageDriver.hxx Diff ] File ]
mod - src/BndLib/BndLib_Add2dCurve.cxx Diff ] File ]
mod - src/BOPDS/BOPDS_ListOfPaveBlock.hxx Diff ] File ]
mod - src/BRepBuilderAPI/BRepBuilderAPI_FastSewing.hxx Diff ] File ]
mod - src/BRepFill/BRepFill_MultiLine.hxx Diff ] File ]
mod - src/BRepGProp/BRepGProp_Gauss.cxx Diff ] File ]
mod - src/BRepGProp/BRepGProp_Gauss.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_EdgeTessellationExtractor.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_EdgeTessellator.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_FaceAttribute.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_FastDiscret.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_FastDiscretFace.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_GeomTool.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_IncrementalMesh.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_PairOfPolygon.hxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_ShapeTool.hxx Diff ] File ]
mod - src/BSplCLib/BSplCLib_Cache.cxx Diff ] File ]
mod - src/BSplCLib/BSplCLib_Cache.hxx Diff ] File ]
mod - src/BSplSLib/BSplSLib_Cache.cxx Diff ] File ]
mod - src/CDM/CDM_MetaDataLookUpTable.hxx Diff ] File ]
mod - src/Expr/Expr_Array1OfNamedUnknown.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_Camera.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_ClipPlane.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_CStructure.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_MapOfStructure.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_ShaderObject.hxx Diff ] File ]
mod - src/IVtkDraw/IVtkDraw.hxx Diff ] File ]
mod - src/IVtkDraw/IVtkDraw_HighlightAndSelectionPipeline.hxx Diff ] File ]
mod - src/LDOM/LDOMBasicString.hxx Diff ] File ]
mod - src/LDOM/LDOMString.hxx Diff ] File ]
mod - src/LDOM/LDOM_Document.hxx Diff ] File ]
mod - src/LDOM/LDOM_MemManager.hxx Diff ] File ]
mod - src/LDOM/LDOM_Node.hxx Diff ] File ]
mod - src/LDOM/LDOM_OSStream.cxx Diff ] File ]
mod - src/LDOM/LDOM_OSStream.hxx Diff ] File ]
mod - src/MeshTest/MeshTest_DrawableMesh.hxx Diff ] File ]
mod - src/MeshVS/MeshVS_DummySensitiveEntity.hxx Diff ] File ]
mod - src/MeshVS/MeshVS_SensitiveFace.hxx Diff ] File ]
mod - src/MeshVS/MeshVS_SensitiveMesh.hxx Diff ] File ]
mod - src/MeshVS/MeshVS_SensitivePolyhedron.hxx Diff ] File ]
mod - src/MeshVS/MeshVS_SensitiveSegment.hxx Diff ] File ]
mod - src/Message/Message_HArrayOfMsg.hxx Diff ] File ]
mod - src/MoniTool/MoniTool_DataMapOfTimer.hxx Diff ] File ]
mod - src/MoniTool/MoniTool_ValueInterpret.hxx Diff ] File ]
mod - src/NCollection/NCollection_BaseAllocator.hxx Diff ] File ]
mod - src/NCollection/NCollection_HeapAllocator.hxx Diff ] File ]
mod - src/OpenGl/Handle_OpenGl_Context.hxx Diff ] File ]
mod - src/OpenGl/Handle_OpenGl_GraphicDriver.hxx Diff ] File ]
mod - src/OpenGl/Handle_OpenGl_PointSprite.hxx Diff ] File ]
mod - src/OpenGl/Handle_OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/Handle_OpenGl_Window.hxx Diff ] File ]
mod - src/OpenGl/Handle_OpenGl_Workspace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectFace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectLine.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectMarker.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_AspectText.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_CappingAlgo.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_CappingPlaneResource.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Caps.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Clipping.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Context.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Element.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Flipper.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_FrameBuffer.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Layer.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_LayerList.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_LineAttributes.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_PointSprite.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_PrimitiveArray.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_PrinterContext.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Resource.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Sampler.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderObject.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_ShaderProgram.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Text.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Texture.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Window.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.hxx Diff ] File ]
mod - src/Poly/Poly_CoherentTriangulation.hxx Diff ] File ]
mod - src/Poly/Poly_MakeLoops.hxx Diff ] File ]
mod - src/Prs3d/Prs3d_Drawer.hxx Diff ] File ]
mod - src/Prs3d/Prs3d_WFShape.hxx Diff ] File ]
mod - src/QABugs/QABugs_19.cxx Diff ] File ]
mod - src/Select3D/Select3D_EntitySequence.hxx Diff ] File ]
mod - src/Select3D/Select3D_InteriorSensitivePointSet.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveBox.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveCircle.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveCurve.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveEntity.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveFace.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveGroup.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitivePoint.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitivePoly.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveSegment.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveTriangle.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveTriangulation.hxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveWire.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_IndexedMapOfOwner.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SelectableObjectSet.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_Selection.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SensitiveEntity.hxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_ViewerSelector.hxx Diff ] File ]
mod - src/ShapeFix/ShapeFix_Wire.cxx Diff ] File ]
mod - src/Standard/Standard_Handle.hxx Diff ] File ]
mod - src/StdPrs/StdPrs_ToolShadedShape.hxx Diff ] File ]
mod - src/StdSelect/StdSelect_ViewerSelector3d.hxx Diff ] File ]
mod - src/TDF/TDF_AttributeIndexedMap.hxx Diff ] File ]
mod - src/TDF/TDF_LabelNode.hxx Diff ] File ]
mod - src/TObj/TObj_Application.hxx Diff ] File ]
mod - src/TObj/TObj_Assistant.hxx Diff ] File ]
mod - src/TObj/TObj_Model.hxx Diff ] File ]
mod - src/TObj/TObj_ModelIterator.hxx Diff ] File ]
mod - src/TObj/TObj_Object.hxx Diff ] File ]
mod - src/TObj/TObj_ObjectIterator.hxx Diff ] File ]
mod - src/TObj/TObj_Partition.hxx Diff ] File ]
mod - src/TObj/TObj_Persistence.hxx Diff ] File ]
mod - src/TObj/TObj_SequenceOfObject.hxx Diff ] File ]
mod - src/TObj/TObj_TIntSparseArray.hxx Diff ] File ]
mod - src/TObj/TObj_TModel.hxx Diff ] File ]
mod - src/TObj/TObj_TNameContainer.hxx Diff ] File ]
mod - src/TObj/TObj_TObject.hxx Diff ] File ]
mod - src/TObj/TObj_TReference.hxx Diff ] File ]
mod - src/TObj/TObj_TXYZ.hxx Diff ] File ]
mod - src/TObjDRAW/TObjDRAW.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest.hxx Diff ] File ]
mod - src/VrmlData/VrmlData_Node.hxx Diff ] File ]
mod - src/VrmlData/VrmlData_Scene.hxx Diff ] File ]
mod - src/VrmlData/VrmlData_ShapeConvert.hxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers.hxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers_DocumentRetrievalDriver.hxx Diff ] File ]
mod - src/XmlTObjDrivers/XmlTObjDrivers_DocumentStorageDriver.hxx Diff ] File ]
occt: master c5f3a425
Timestamp: 2015-07-02 13:41:05
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- downcast (automatic)

Automatic update by command "occt_upgrade . -downcast"

C-style cast of Handle to that of derived type (now illegal) is replaced by call to DownCast()
Const reference local variables of Handle type initialized by result of DownCast are replaced by normal variables.
mod - src/AIS/AIS.cxx Diff ] File ]
mod - src/AIS/AIS_AttributeFilter.cxx Diff ] File ]
mod - src/AIS/AIS_BadEdgeFilter.cxx Diff ] File ]
mod - src/AIS/AIS_C0RegularityFilter.cxx Diff ] File ]
mod - src/AIS/AIS_ConcentricRelation.cxx Diff ] File ]
mod - src/AIS/AIS_EqualDistanceRelation.cxx Diff ] File ]
mod - src/AIS/AIS_IdenticRelation.cxx Diff ] File ]
mod - src/AIS/AIS_InteractiveContext.cxx Diff ] File ]
mod - src/AIS/AIS_InteractiveContext_1.cxx Diff ] File ]
mod - src/AIS/AIS_InteractiveObject.cxx Diff ] File ]
mod - src/AIS/AIS_LengthDimension.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext_1.cxx Diff ] File ]
mod - src/AIS/AIS_MidPointRelation.cxx Diff ] File ]
mod - src/AIS/AIS_ParallelRelation.cxx Diff ] File ]
mod - src/AIS/AIS_PerpendicularRelation.cxx Diff ] File ]
mod - src/AIS/AIS_Plane.cxx Diff ] File ]
mod - src/AIS/AIS_Relation.cxx Diff ] File ]
mod - src/AIS/AIS_Selection.cxx Diff ] File ]
mod - src/AIS/AIS_SymmetricRelation.cxx Diff ] File ]
mod - src/AIS/AIS_TangentRelation.cxx Diff ] File ]
mod - src/AIS/AIS_TypeFilter.cxx Diff ] File ]
mod - src/AppDef/AppDef_MultiPointConstraint.cxx Diff ] File ]
mod - src/AppDef/AppDef_Variational.cxx Diff ] File ]
mod - src/AppParCurves/AppParCurves_MultiPoint.cxx Diff ] File ]
mod - src/BinMDF/BinMDF_ADriverTable.cxx Diff ] File ]
mod - src/Bisector/Bisector_BisecAna.cxx Diff ] File ]
mod - src/BndLib/BndLib_Add3dCurve.cxx Diff ] File ]
mod - src/BOPTest/BOPTest_LowCommands.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools2D.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools_1.cxx Diff ] File ]
mod - src/BRep/BRep_Tool.cxx Diff ] File ]
mod - src/BRepCheck/BRepCheck_Edge.cxx Diff ] File ]
mod - src/BRepCheck/BRepCheck_Vertex.cxx Diff ] File ]
mod - src/BRepFeat/BRepFeat_MakeDPrism.cxx Diff ] File ]
mod - src/BRepFeat/BRepFeat_MakePrism.cxx Diff ] File ]
mod - src/BRepFeat/BRepFeat_MakeRevol.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Pipe.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Sweep.cxx Diff ] File ]
mod - src/BRepGProp/BRepGProp_EdgeTool.cxx Diff ] File ]
mod - src/BRepGProp/BRepGProp_Face.cxx Diff ] File ]
mod - src/BRepLib/BRepLib.cxx Diff ] File ]
mod - src/BRepLib/BRepLib_FuseEdges.cxx Diff ] File ]
mod - src/BRepMAT2d/BRepMAT2d_Explorer.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Inter2d.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Offset.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Tool.cxx Diff ] File ]
mod - src/BRepOffsetAPI/BRepOffsetAPI_DraftAngle.cxx Diff ] File ]
mod - src/BRepOffsetAPI/BRepOffsetAPI_MiddlePath.cxx Diff ] File ]
mod - src/BRepTest/BRepTest_MatCommands.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_0.cxx Diff ] File ]
mod - src/DNaming/DNaming.cxx Diff ] File ]
mod - src/DrawDim/DrawDim_PlanarAngle.cxx Diff ] File ]
mod - src/FEmTool/FEmTool_Curve.cxx Diff ] File ]
mod - src/Geom/Geom_OsculatingSurface.cxx Diff ] File ]
mod - src/Geom2dAdaptor/Geom2dAdaptor_Curve.cxx Diff ] File ]
mod - src/GeomAdaptor/GeomAdaptor_Curve.cxx Diff ] File ]
mod - src/GeomAdaptor/GeomAdaptor_Surface.cxx Diff ] File ]
mod - src/GeomConvert/GeomConvert_1.cxx Diff ] File ]
mod - src/GeometryTest/GeometryTest_CurveCommands.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_BoundWithSurf.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_ConstrainedFilling.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_Profiler.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_SimpleBound.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_Sweep.cxx Diff ] File ]
mod - src/GeomInt/GeomInt_LineConstructor.cxx Diff ] File ]
mod - src/GeomLib/GeomLib.cxx Diff ] File ]
mod - src/HLRBRep/HLRBRep.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_ImpImpIntersection_0.gxx Diff ] File ]
mod - src/IntPatch/IntPatch_ImpImpIntersection_4.gxx Diff ] File ]
mod - src/IntPatch/IntPatch_ImpPrmIntersection.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_Intersection.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_LineConstructor.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_PrmPrmIntersection.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_RstInt.cxx Diff ] File ]
mod - src/IntTools/IntTools_EdgeEdge.cxx Diff ] File ]
mod - src/IntTools/IntTools_FaceFace.cxx Diff ] File ]
mod - src/LocOpe/LocOpe_FindEdges.cxx Diff ] File ]
mod - src/LocOpe/LocOpe_Generator.cxx Diff ] File ]
mod - src/LocOpe/LocOpe_Spliter.cxx Diff ] File ]
mod - src/LocOpe/LocOpe_WiresOnShape.cxx Diff ] File ]
mod - src/PCDM/PCDM.cxx Diff ] File ]
mod - src/PCDM/PCDM_RetrievalDriver.cxx Diff ] File ]
mod - src/Prs3d/Prs3d_ShapeTool.cxx Diff ] File ]
mod - src/PrsMgr/PrsMgr_Presentation.cxx Diff ] File ]
mod - src/QABugs/QABugs_1.cxx Diff ] File ]
mod - src/QABugs/QABugs_16.cxx Diff ] File ]
mod - src/RWStepAP214/RWStepAP214_GeneralModule.cxx Diff ] File ]
mod - src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SelectionManager.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_SensitiveEntitySet.cxx Diff ] File ]
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx Diff ] File ]
mod - src/ShapeAnalysis/ShapeAnalysis_Curve.cxx Diff ] File ]
mod - src/StdSelect/StdSelect_BRepSelectionTool.cxx Diff ] File ]
mod - src/StdSelect/StdSelect_EdgeFilter.cxx Diff ] File ]
mod - src/StdSelect/StdSelect_FaceFilter.cxx Diff ] File ]
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeBoundedCurve.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeBoundedCurve2d.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeBoundedSurface.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeConic.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeConic2d.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeCurve.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeCurve2d.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeElementarySurface.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeSurface.cxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeSweptSurface.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_ByteArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_DeltaOnModificationOfByteArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_DeltaOnModificationOfExtStringArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_DeltaOnModificationOfIntArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_DeltaOnModificationOfIntPackedMap.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_DeltaOnModificationOfRealArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_ExtStringArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_IntegerArray.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_IntPackedMap.cxx Diff ] File ]
mod - src/TDataStd/TDataStd_RealArray.cxx Diff ] File ]
mod - src/TDataXtd/TDataXtd_Constraint.cxx Diff ] File ]
mod - src/TDataXtd/TDataXtd_Geometry.cxx Diff ] File ]
mod - src/TDF/TDF_ClosureTool.cxx Diff ] File ]
mod - src/TDF/TDF_CopyTool.cxx Diff ] File ]
mod - src/TDocStd/TDocStd_XLink.cxx Diff ] File ]
mod - src/TNaming/TNaming_DeltaOnModification.cxx Diff ] File ]
mod - src/TNaming/TNaming_NamedShape.cxx Diff ] File ]
mod - src/TNaming/TNaming_Selector.cxx Diff ] File ]
mod - src/TNaming/TNaming_Tool.cxx Diff ] File ]
mod - src/TNaming/TNaming_Translator.cxx Diff ] File ]
mod - src/TopOpeBRep/TopOpeBRep_LineInter.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_BuilderON.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_BuilderON2d.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_EdgeBuilder.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_FuseFace.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_KPart.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_makefaces.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_Section.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_Tools_1.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_WireEdgeSet.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_Check.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_Curve.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_Dumper.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_EIR.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_EXPORT.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_FaceInterferenceTool.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_FIR.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_GapFiller.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_GapTool.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_InterferenceTool.cxx Diff ] File ]
mod - src/TopOpeBRepDS/TopOpeBRepDS_PointIterator.cxx Diff ] File ]
mod - src/TopOpeBRepTool/TopOpeBRepTool_CurveTool.cxx Diff ] File ]
mod - src/TopOpeBRepTool/TopOpeBRepTool_FuseEdges.cxx Diff ] File ]
mod - src/TopOpeBRepTool/TopOpeBRepTool_ShapeTool.cxx Diff ] File ]
mod - src/TPrsStd/TPrsStd_ConstraintTools.cxx Diff ] File ]
mod - src/Units/Units_UnitsDictionary.cxx Diff ] File ]
mod - src/Units/Units_UnitsSystem.cxx Diff ] File ]
mod - src/V3d/V3d_View_4.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff ] File ]
mod - src/Visual3d/Visual3d_ViewManager.cxx Diff ] File ]
occt: master a1eb3afd
Timestamp: 2015-07-02 13:44:46
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- downcast (manual)

Manual corrections of C-style casts of Handle types
mod - src/AIS/AIS_SymmetricRelation.cxx Diff ] File ]
mod - src/AIS/AIS_TypeFilter.cxx Diff ] File ]
mod - src/BndLib/BndLib_Add3dCurve.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Sweep.cxx Diff ] File ]
mod - src/GeomAdaptor/GeomAdaptor_Surface.cxx Diff ] File ]
mod - src/GeomInt/GeomInt_LineConstructor.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_ImpPrmIntersection.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_Intersection.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_LineConstructor.cxx Diff ] File ]
mod - src/TopOpeBRepTool/TopOpeBRepTool_CurveTool.cxx Diff ] File ]
mod - src/TPrsStd/TPrsStd_ConstraintTools.cxx Diff ] File ]
mod - src/V3d/V3d_Viewer_2.cxx Diff ] File ]
occt: master 543a9964
Timestamp: 2015-07-02 14:06:37
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- ambiguity

Code corrected to avoid ambiguous situations due to changed implementation of Handle (overloaded methods accepting handles of different types).
In Adaptor3d_CurveOnSurface added method Load() with two parameters, allowing to avoid ambiguity of cast of handles when calling separate methods Load() for curve and surface, replacing by single call.
In DrawTrSurf and IGESData_IGESWriter, template variants of methods Set() and Send(), respectively, are added to avoid ambiguity when these methods are called with handles to derived types (using SFINAE).
In NCollection_DefineHSequence, method Append() accepting handle to another HSequence is made template, to be available only if argument has compatible type.
mod - src/Adaptor3d/Adaptor3d_CurveOnSurface.cdl Diff ] File ]
mod - src/Adaptor3d/Adaptor3d_CurveOnSurface.cxx Diff ] File ]
mod - src/AIS/AIS_IdenticRelation.cxx Diff ] File ]
mod - src/AIS/AIS_InteractiveContext.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext_1.cxx Diff ] File ]
mod - src/AIS/AIS_MidPointRelation.cxx Diff ] File ]
mod - src/AIS/AIS_PlaneTrihedron.cxx Diff ] File ]
mod - src/AIS/AIS_Trihedron.cxx Diff ] File ]
mod - src/Bisector/Bisector_Bisec.cxx Diff ] File ]
mod - src/BOPTest/BOPTest_BOPCommands.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools2D_1.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools_1.cxx Diff ] File ]
mod - src/BRepAdaptor/BRepAdaptor_Curve.cxx Diff ] File ]
mod - src/BRepCheck/BRepCheck_Edge.cxx Diff ] File ]
mod - src/BRepFeat/BRepFeat_RibSlot.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Filling.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_NSections.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_Sweep.cxx Diff ] File ]
mod - src/BRepIntCurveSurface/BRepIntCurveSurface_Inter.cxx Diff ] File ]
mod - src/BRepLib/BRepLib.cxx Diff ] File ]
mod - src/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx Diff ] File ]
mod - src/BRepTest/BRepTest_BasicCommands.cxx Diff ] File ]
mod - src/BRepTest/BRepTest_FilletCommands.cxx Diff ] File ]
mod - src/BRepTest/BRepTest_FillingCommands.cxx Diff ] File ]
mod - src/BRepTopAdaptor/BRepTopAdaptor_Tool.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder.cdl Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_0.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_0.hxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_Builder_2.cxx Diff ] File ]
mod - src/ChFi3d/ChFi3d_FilBuilder.cxx Diff ] File ]
mod - src/DrawTrSurf/DrawTrSurf.cdl Diff ] File ]
mod - src/ExprIntrp/ExprIntrp_yaccintrf.cxx Diff ] File ]
mod - src/Font/Font_BRepFont.cxx Diff ] File ]
mod - src/Font/Font_BRepFont.hxx Diff ] File ]
mod - src/GeometryTest/GeometryTest_API2dCommands.cxx Diff ] File ]
mod - src/GeometryTest/GeometryTest_APICommands.cxx Diff ] File ]
mod - src/GeometryTest/GeometryTest_ConstraintCommands.cxx Diff ] File ]
mod - src/GeomLib/GeomLib.cxx Diff ] File ]
mod - src/GeomliteTest/GeomliteTest_API2dCommands.cxx Diff ] File ]
mod - src/GeomToIGES/GeomToIGES_GeomCurve.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeCurve.cxx Diff ] File ]
mod - src/HLRTopoBRep/HLRTopoBRep_FaceIsoLiner.cxx Diff ] File ]
mod - src/IGESData/IGESData_BasicEditor.cxx Diff ] File ]
mod - src/IGESData/IGESData_IGESWriter.cdl Diff ] File ]
mod - src/IGESToBRep/IGESToBRep_Reader.cxx Diff ] File ]
mod - src/IntTools/IntTools_Context.cxx Diff ] File ]
mod - src/NCollection/NCollection_DefineHSequence.hxx Diff ] File ]
mod - src/QABugs/QABugs_10.cxx Diff ] File ]
mod - src/QABugs/QABugs_11.cxx Diff ] File ]
mod - src/QABugs/QABugs_13.cxx Diff ] File ]
mod - src/QABugs/QABugs_16.cxx Diff ] File ]
mod - src/QABugs/QABugs_17.cxx Diff ] File ]
mod - src/ShapeAnalysis/ShapeAnalysis_Edge.cxx Diff ] File ]
mod - src/ShapeBuild/ShapeBuild_Edge.cxx Diff ] File ]
mod - src/ShapeConstruct/ShapeConstruct.cxx Diff ] File ]
mod - src/ShapeCustom/ShapeCustom_BSplineRestriction.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_ConvertCurve2dToBezier.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_ConvertCurve3dToBezier.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_FixSmallBezierCurves.cxx Diff ] File ]
mod - src/ShapeUpgrade/ShapeUpgrade_WireDivide.cxx Diff ] File ]
mod - src/StepData/StepData_StepModel.cxx Diff ] File ]
mod - src/StepData/StepData_StepReaderData.cxx Diff ] File ]
mod - src/SWDRAW/SWDRAW_ShapeTool.cxx Diff ] File ]
mod - src/TDF/TDF_Data.cxx Diff ] File ]
mod - src/TestTopOpe/TestTopOpe_CORCommands.cxx Diff ] File ]
mod - src/TopOpeBRep/TopOpeBRep_FacesIntersector.cxx Diff ] File ]
mod - src/TopOpeBRepBuild/TopOpeBRepBuild_Tools_1.cxx Diff ] File ]
mod - src/XSControl/XSControl_Functions.cxx Diff ] File ]
occt: master caaeed1b
Timestamp: 2015-07-03 08:24:43
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle -- StepToGeom

StepToGeom package refactored to avoid C-style casts of handles to derived types.

Instead of 45 classes, each defining single static method, it now defines 45 static methods in the main package class.
Results of conversion are returned in normal way rather than via function parameter.

Conflicts:
    src/StepToGeom/StepToGeom_MakeSurfaceOfRevolution.cxx
mod - src/STEPControl/STEPControl_ActorRead.cxx Diff ] File ]
mod - src/StepToGeom/FILES Diff ] File ]
add - src/StepToGeom/StepToGeom.cxx Diff ] File ]
add - src/StepToGeom/StepToGeom.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeAxis1Placement.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeAxis1Placement.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeAxis2Placement.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeAxis2Placement.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeAxisPlacement.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeAxisPlacement.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBoundedCurve.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBoundedCurve.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBoundedCurve2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBoundedCurve2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBoundedSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBoundedSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBSplineCurve.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBSplineCurve.hxx Diff ] File ]
mod - src/StepToGeom/StepToGeom_MakeBSplineCurve.pxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBSplineCurve2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBSplineCurve2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBSplineSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeBSplineSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCartesianPoint.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCartesianPoint.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCartesianPoint2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCartesianPoint2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCircle.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCircle.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCircle2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCircle2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeConic.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeConic.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeConic2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeConic2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeConicalSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeConicalSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCurve.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCurve.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCurve2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCurve2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCylindricalSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeCylindricalSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeDirection.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeDirection.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeDirection2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeDirection2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeElementarySurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeElementarySurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeEllipse.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeEllipse.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeEllipse2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeEllipse2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeHyperbola.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeHyperbola.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeHyperbola2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeHyperbola2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeLine.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeLine.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeLine2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeLine2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeParabola.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeParabola.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeParabola2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeParabola2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakePlane.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakePlane.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakePolyline.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakePolyline.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakePolyline2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakePolyline2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeRectangularTrimmedSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeRectangularTrimmedSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSphericalSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSphericalSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSurfaceOfLinearExtrusion.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSurfaceOfLinearExtrusion.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSurfaceOfRevolution.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSurfaceOfRevolution.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSweptSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeSweptSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeToroidalSurface.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeToroidalSurface.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTransformation2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTransformation2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTransformation3d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTransformation3d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTrimmedCurve.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTrimmedCurve.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTrimmedCurve2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeTrimmedCurve2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeVectorWithMagnitude.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeVectorWithMagnitude.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeVectorWithMagnitude2d.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_MakeVectorWithMagnitude2d.hxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_Root.cxx Diff ] File ]
rm - src/StepToGeom/StepToGeom_Root.hxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_Builder.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_MakeTransformed.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateCompositeCurve.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateCurveBoundedSurface.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdge.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdgeLoop.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslatePolyLoop.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_TranslateVertex.cxx Diff ] File ]
occt: master 5b111128
Timestamp: 2015-07-03 08:31:43
Author: abv
Committer: abv
Details ] Diff ]
0024023: Revamp the OCCT Handle - gcc and clang

Adaptations for compiling with GCC 4.7 and 4.8:
- Construction semantics is used for Handle objects being initialized by const Handle objects of derived type, to avoid overload resolution error in GCC 4.7.
- Missing includes added.
- Fixed bugs related to misuse of direct casts of handle.
- Eliminate CLang warnings on uninitialized and unused variables, functions, and expressions
mod - src/Adaptor3d/Adaptor3d_TopolTool.hxx Diff ] File ]
mod - src/AIS/AIS_AttributeFilter.cxx Diff ] File ]
mod - src/AIS/AIS_BadEdgeFilter.cxx Diff ] File ]
mod - src/AIS/AIS_C0RegularityFilter.cxx Diff ] File ]
mod - src/AIS/AIS_GraphicTool.cxx Diff ] File ]
mod - src/AIS/AIS_LocalContext_1.cxx Diff ] File ]
mod - src/AIS/AIS_Trihedron.cxx Diff ] File ]
mod - src/AIS/AIS_TypeFilter.cxx Diff ] File ]
mod - src/AppDef/AppDef_MultiPointConstraint.cxx Diff ] File ]
mod - src/AppDef/AppDef_MultiPointConstraint.hxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools2D_1.cxx Diff ] File ]
mod - src/BRep/BRep_Builder.hxx Diff ] File ]
mod - src/BRepFeat/BRepFeat_MakePrism.cxx Diff ] File ]
mod - src/BRepFill/BRepFill_OffsetWire.cxx Diff ] File ]
mod - src/BRepMAT2d/BRepMAT2d_BisectingLocus.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Offset.cxx Diff ] File ]
mod - src/BRepOffset/BRepOffset_Tool.cxx Diff ] File ]
mod - src/BRepOffsetAPI/BRepOffsetAPI_MiddlePath.cxx Diff ] File ]
mod - src/CSLib/CSLib_Offset.cxx Diff ] File ]
mod - src/DrawTrSurf/DrawTrSurf.hxx Diff ] File ]
mod - src/GCPnts/GCPnts_AbscissaPoint.gxx Diff ] File ]
mod - src/Geom/Geom_Conic.cxx Diff ] File ]
mod - src/Geom/Geom_Surface.hxx Diff ] File ]
mod - src/Geom2d/Geom2d_Conic.cxx Diff ] File ]
mod - src/Geom2dToIGES/Geom2dToIGES_Geom2dCurve.cxx Diff ] File ]
mod - src/GeomAPI/GeomAPI.hxx Diff ] File ]
mod - src/GeometryTest/GeometryTest_ConstraintCommands.cxx Diff ] File ]
mod - src/GeomFill/GeomFill_CoonsAlgPatch.cxx Diff ] File ]
mod - src/GeomLib/GeomLib_Tool.cxx Diff ] File ]
mod - src/GeomliteTest/GeomliteTest_SurfaceCommands.cxx Diff ] File ]
mod - src/GeomPlate/GeomPlate_CurveConstraint.cxx Diff ] File ]
mod - src/GeomToStep/GeomToStep_MakeAxis2Placement3d.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_Group.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_MaterialAspect.cxx Diff ] File ]
mod - src/IGESBasic/IGESBasic_Group.cxx Diff ] File ]
mod - src/IGESBasic/IGESBasic_SubfigureDef.cxx Diff ] File ]
mod - src/IGESData/IGESData_FileProtocol.cxx Diff ] File ]
mod - src/IGESDraw/IGESDraw_ToolViewsVisible.cxx Diff ] File ]
mod - src/IGESDraw/IGESDraw_ToolViewsVisibleWithAttr.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_ImpImpIntersection_4.gxx Diff ] File ]
mod - src/IntTools/IntTools_FaceFace.cxx Diff ] File ]
mod - src/LDOM/LDOMBasicString.hxx Diff ] File ]
mod - src/LocOpe/LocOpe_WiresOnShape.cxx Diff ] File ]
mod - src/Message/Message_Algorithm.hxx Diff ] File ]
mod - src/Message/Message_Msg.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Structure.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_VertexBufferCompat.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.hxx Diff ] File ]
mod - src/Prs3d/Prs3d_LineAspect.hxx Diff ] File ]
mod - src/Prs3d/Prs3d_Text.hxx Diff ] File ]
mod - src/QABugs/QABugs_13.cxx Diff ] File ]
mod - src/QABugs/QABugs_19.cxx Diff ] File ]
mod - src/QANCollection/QANCollection_Handle.cxx Diff ] File ]
mod - src/QANCollection/QANCollection_Stl.cxx Diff ] File ]
mod - src/Standard/Standard.hxx Diff ] File ]
mod - src/StdSelect/StdSelect_EdgeFilter.cxx Diff ] File ]
mod - src/StdSelect/StdSelect_FaceFilter.cxx Diff ] File ]
mod - src/STEPConstruct/STEPConstruct_Assembly.cxx Diff ] File ]
mod - src/STEPConstruct/STEPConstruct_ContextTool.cxx Diff ] File ]
mod - src/StepToTopoDS/StepToTopoDS_GeometricTool.cxx Diff ] File ]
mod - src/TDataXtd/TDataXtd_Constraint.cxx Diff ] File ]
mod - src/TDataXtd/TDataXtd_Constraint.hxx Diff ] File ]
mod - src/TDocStd/TDocStd_MultiTransactionManager.cxx Diff ] File ]
mod - src/V3d/V3d_LayerMgr.cxx Diff ] File ]
mod - src/V3d/V3d_Viewer_4.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_RelationCommands.cxx Diff ] File ]
mod - src/VrmlData/VrmlData_ShapeConvert.cxx Diff ] File ]
mod - src/XSControl/XSControl_WorkSession.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-06-10 15:41 frpons New Issue
2013-06-10 15:41 frpons Assigned To => frpons
2013-06-10 15:42 frpons Relationship added child of 0024002
2013-06-10 16:05 abv Note Added: 0024715
2013-06-10 16:11 abv Note Added: 0024716
2014-03-04 08:21 abv Note Added: 0028111
2014-03-11 13:20 abv Note Added: 0028192
2014-04-02 08:59 abv Note Added: 0028612
2014-04-02 09:31 abv Note Added: 0028613
2014-04-02 09:31 abv Assigned To frpons => abv
2014-04-02 09:31 abv Status new => assigned
2014-04-07 20:11 abv Relationship added parent of 0024805
2014-04-08 09:27 abv Relationship added parent of 0024806
2014-04-09 18:51 abv Relationship added parent of 0024814
2014-04-24 10:58 kgv Relationship added related to 0024870
2014-07-29 11:13 Roman Lygin Note Added: 0030463
2014-07-29 11:19 Roman Lygin Note Added: 0030464
2014-09-11 19:03 abv Target Version => 7.0.0
2015-06-12 09:09 git Note Added: 0042121
2015-06-17 06:52 git Note Added: 0042174
2015-06-22 07:03 git Note Added: 0042290
2015-06-22 19:27 git Note Added: 0042323
2015-06-24 15:55 abv Relationship added parent of 0026373
2015-06-24 19:50 git Note Added: 0042433
2015-06-25 06:38 git Note Added: 0042434
2015-06-25 18:07 git Note Added: 0042463
2015-06-26 06:32 git Note Added: 0042470
2015-06-26 19:29 git Note Added: 0042513
2015-06-26 19:34 abv Note Added: 0042514
2015-06-28 13:39 abv Relationship added parent of 0024947
2015-06-28 13:57 abv Relationship added related to 0026377
2015-06-28 14:50 git Note Added: 0042516
2015-07-17 15:59 abv Relationship added related to 0026457
2015-07-20 14:09 abv Assigned To abv => kgv
2015-07-20 14:09 abv Status assigned => resolved
2015-07-20 14:09 abv Category OCCT:Application Framework => OCCT:Foundation Classes
2015-07-20 14:22 kgv Assigned To kgv => bugmaster
2015-07-20 14:22 kgv Status resolved => reviewed
2015-07-22 07:35 git Note Added: 0043256
2015-07-22 07:37 git Note Added: 0043257
2015-07-22 07:41 git Note Added: 0043258
2015-07-22 16:27 git Note Added: 0043306
2015-07-22 16:40 git Note Added: 0043310
2015-07-22 16:45 git Note Added: 0043312
2015-07-22 16:51 git Note Added: 0043315
2015-07-23 11:55 abv Changeset attached => occt master 7f22979e
2015-07-23 11:55 abv Changeset attached => occt master 5b111128
2015-07-23 11:55 abv Changeset attached => occt master caaeed1b
2015-07-23 11:55 abv Changeset attached => occt master 543a9964
2015-07-23 11:55 abv Changeset attached => occt master a1eb3afd
2015-07-23 11:55 abv Changeset attached => occt master c5f3a425
2015-07-23 11:55 abv Changeset attached => occt master ce8b059a
2015-07-23 11:55 abv Changeset attached => occt master 83eaf3e8
2015-07-23 11:55 abv Changeset attached => occt master c04c30b3
2015-07-23 11:55 abv Changeset attached => occt master 35c0599a
2015-07-23 11:55 abv Changeset attached => occt master e7195ab4
2015-07-23 11:55 abv Assigned To bugmaster => abv
2015-07-23 11:55 abv Status reviewed => verified
2015-07-23 11:55 abv Resolution open => fixed
2015-07-27 10:34 kgv Relationship added related to 0024895
2015-07-30 01:58 Roman Lygin Relationship added related to 0026497
2015-07-30 14:30 kgv Relationship added parent of 0026477
2015-08-11 22:59 abv Relationship added related to 0026549
2016-01-21 16:30 Roman Lygin Relationship added related to 0027104
2016-01-25 20:35 Roman Lygin Relationship added related to 0027111
2016-04-20 15:43 aiv Fixed in Version => 7.0.0
2016-04-20 15:49 aiv Status verified => closed
2016-08-06 14:09 kgv Relationship added related to 0027563
2018-07-15 11:15 kgv Relationship added parent of 0029961


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker