Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
ShapeProcess_ShapeContext Class Reference

Extends Context to handle shapes Contains map of shape-shape, and messages attached to shapes. More...

#include <ShapeProcess_ShapeContext.hxx>

Inheritance diagram for ShapeProcess_ShapeContext:
Inheritance graph
[legend]

Public Member Functions

 ShapeProcess_ShapeContext (const char *const file, const char *const seq="")
 
 ShapeProcess_ShapeContext (const TopoDS_Shape &S, const char *const file, const char *const seq="")
 Initializes a tool by resource file and shape to be processed.
 
void Init (const TopoDS_Shape &S)
 Initializes tool by a new shape and clears all results.
 
const TopoDS_ShapeShape () const
 Returns shape being processed.
 
const TopoDS_ShapeResult () const
 Returns current result.
 
const NCollection_DataMap< TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher > & Map () const
 Returns map of replacements shape -> shape This map is not recursive.
 
const occ::handle< ShapeExtend_MsgRegistrator > & Messages () const
 
occ::handle< ShapeExtend_MsgRegistrator > & Messages ()
 Returns messages recorded during shape processing It can be nullified before processing in order to avoid recording messages.
 
void SetDetalisation (const TopAbs_ShapeEnum level)
 
TopAbs_ShapeEnum GetDetalisation () const
 Set and get value for detalisation level Only shapes of types from TopoDS_COMPOUND and until specified detalisation level will be recorded in maps To cancel mapping, use TopAbs_SHAPE To force full mapping, use TopAbs_VERTEX The default level is TopAbs_FACE.
 
void SetResult (const TopoDS_Shape &S)
 Sets a new result shape NOTE: this method should be used very carefully to keep consistency of modifications It is recommended to use RecordModification() methods with explicit definition of mapping from current result to a new one.
 
void RecordModification (const NCollection_DataMap< TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher > &repl, const occ::handle< ShapeExtend_MsgRegistrator > &msg=nullptr)
 
void RecordModification (const occ::handle< ShapeBuild_ReShape > &repl, const occ::handle< ShapeExtend_MsgRegistrator > &msg)
 
void RecordModification (const occ::handle< ShapeBuild_ReShape > &repl)
 
void RecordModification (const TopoDS_Shape &sh, const BRepTools_Modifier &repl, const occ::handle< ShapeExtend_MsgRegistrator > &msg=nullptr)
 Records modifications and resets result accordingly NOTE: modification of resulting shape should be explicitly defined in the maps along with modifications of subshapes.
 
void AddMessage (const TopoDS_Shape &S, const Message_Msg &msg, const Message_Gravity gravity=Message_Warning)
 Record a message for shape S Shape S should be one of subshapes of original shape (or whole one), but not one of intermediate shapes Records only if Message() is not Null.
 
bool GetContinuity (const char *const param, GeomAbs_Shape &val) const
 Get value of parameter as being of the type GeomAbs_Shape Returns False if parameter is not defined or has a wrong type.
 
GeomAbs_Shape ContinuityVal (const char *const param, const GeomAbs_Shape def) const
 Get value of parameter as being of the type GeomAbs_Shape If parameter is not defined or does not have expected type, returns default value as specified.
 
void PrintStatistics () const
 Prints statistics on Shape Processing onto the current Messenger.
 
void SetNonManifold (bool theNonManifold)
 Set NonManifold flag.
 
bool IsNonManifold ()
 Get NonManifold flag.
 
- Public Member Functions inherited from ShapeProcess_Context
 ShapeProcess_Context ()
 Creates an empty tool.
 
 ShapeProcess_Context (const char *const file, const char *const scope="")
 Creates a new tool and initialises by name of resource file and (if specified) starting scope Calls method Init()
 
bool Init (const char *const file, const char *const scope="")
 Initialises a tool by loading resource file and (if specified) sets starting scope Returns False if resource file not found.
 
occ::handle< Resource_ManagerLoadResourceManager (const char *const file)
 Loading Resource_Manager object if this object not equal internal static Resource_Manager object or internal static Resource_Manager object is null.
 
const occ::handle< Resource_Manager > & ResourceManager () const
 Returns internal Resource_Manager object.
 
void SetScope (const char *const scope)
 Set a new (sub)scope.
 
void UnSetScope ()
 Go out of current scope.
 
bool IsParamSet (const char *const param) const
 Returns True if parameter is defined in the resource file.
 
bool GetReal (const char *const param, double &val) const
 
bool GetInteger (const char *const param, int &val) const
 
bool GetBoolean (const char *const param, bool &val) const
 
bool GetString (const char *const param, TCollection_AsciiString &val) const
 Get value of parameter as being of specific type Returns False if parameter is not defined or has a wrong type.
 
double RealVal (const char *const param, const double def) const
 
int IntegerVal (const char *const param, const int def) const
 
bool BooleanVal (const char *const param, const bool def) const
 
const charStringVal (const char *const param, const char *const def) const
 Get value of parameter as being of specific type If parameter is not defined or does not have expected type, returns default value as specified.
 
void SetMessenger (const occ::handle< Message_Messenger > &messenger)
 Sets Messenger used for outputting messages.
 
occ::handle< Message_MessengerMessenger () const
 Returns Messenger used for outputting messages.
 
void SetTraceLevel (const int tracelev)
 Sets trace level used for outputting messages.
 
int TraceLevel () const
 Returns trace level used for outputting messages.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
bool IsKind (const char *const theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

Extends Context to handle shapes Contains map of shape-shape, and messages attached to shapes.

Constructor & Destructor Documentation

◆ ShapeProcess_ShapeContext() [1/2]

ShapeProcess_ShapeContext::ShapeProcess_ShapeContext ( const char *const file,
const char *const seq = "" )

◆ ShapeProcess_ShapeContext() [2/2]

ShapeProcess_ShapeContext::ShapeProcess_ShapeContext ( const TopoDS_Shape & S,
const char *const file,
const char *const seq = "" )

Initializes a tool by resource file and shape to be processed.

Member Function Documentation

◆ AddMessage()

void ShapeProcess_ShapeContext::AddMessage ( const TopoDS_Shape & S,
const Message_Msg & msg,
const Message_Gravity gravity = Message_Warning )

Record a message for shape S Shape S should be one of subshapes of original shape (or whole one), but not one of intermediate shapes Records only if Message() is not Null.

◆ ContinuityVal()

GeomAbs_Shape ShapeProcess_ShapeContext::ContinuityVal ( const char *const param,
const GeomAbs_Shape def ) const

Get value of parameter as being of the type GeomAbs_Shape If parameter is not defined or does not have expected type, returns default value as specified.

◆ GetContinuity()

bool ShapeProcess_ShapeContext::GetContinuity ( const char *const param,
GeomAbs_Shape & val ) const

Get value of parameter as being of the type GeomAbs_Shape Returns False if parameter is not defined or has a wrong type.

◆ GetDetalisation()

TopAbs_ShapeEnum ShapeProcess_ShapeContext::GetDetalisation ( ) const

Set and get value for detalisation level Only shapes of types from TopoDS_COMPOUND and until specified detalisation level will be recorded in maps To cancel mapping, use TopAbs_SHAPE To force full mapping, use TopAbs_VERTEX The default level is TopAbs_FACE.

◆ Init()

void ShapeProcess_ShapeContext::Init ( const TopoDS_Shape & S)

Initializes tool by a new shape and clears all results.

◆ IsNonManifold()

bool ShapeProcess_ShapeContext::IsNonManifold ( )
inline

Get NonManifold flag.

◆ Map()

const NCollection_DataMap< TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher > & ShapeProcess_ShapeContext::Map ( ) const

Returns map of replacements shape -> shape This map is not recursive.

◆ Messages() [1/2]

occ::handle< ShapeExtend_MsgRegistrator > & ShapeProcess_ShapeContext::Messages ( )

Returns messages recorded during shape processing It can be nullified before processing in order to avoid recording messages.

◆ Messages() [2/2]

const occ::handle< ShapeExtend_MsgRegistrator > & ShapeProcess_ShapeContext::Messages ( ) const

◆ PrintStatistics()

void ShapeProcess_ShapeContext::PrintStatistics ( ) const

Prints statistics on Shape Processing onto the current Messenger.

◆ RecordModification() [1/4]

void ShapeProcess_ShapeContext::RecordModification ( const NCollection_DataMap< TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher > & repl,
const occ::handle< ShapeExtend_MsgRegistrator > & msg = nullptr )

◆ RecordModification() [2/4]

void ShapeProcess_ShapeContext::RecordModification ( const occ::handle< ShapeBuild_ReShape > & repl)

◆ RecordModification() [3/4]

void ShapeProcess_ShapeContext::RecordModification ( const occ::handle< ShapeBuild_ReShape > & repl,
const occ::handle< ShapeExtend_MsgRegistrator > & msg )

◆ RecordModification() [4/4]

void ShapeProcess_ShapeContext::RecordModification ( const TopoDS_Shape & sh,
const BRepTools_Modifier & repl,
const occ::handle< ShapeExtend_MsgRegistrator > & msg = nullptr )

Records modifications and resets result accordingly NOTE: modification of resulting shape should be explicitly defined in the maps along with modifications of subshapes.

In the last function, sh is the shape on which Modifier was run. It can be different from the whole shape, but in that case result as a whole should be reset later either by call to SetResult(), or by another call to RecordModification() which contains mapping of current result to a new one explicitly

◆ Result()

const TopoDS_Shape & ShapeProcess_ShapeContext::Result ( ) const

Returns current result.

◆ SetDetalisation()

void ShapeProcess_ShapeContext::SetDetalisation ( const TopAbs_ShapeEnum level)

◆ SetNonManifold()

void ShapeProcess_ShapeContext::SetNonManifold ( bool theNonManifold)
inline

Set NonManifold flag.

◆ SetResult()

void ShapeProcess_ShapeContext::SetResult ( const TopoDS_Shape & S)

Sets a new result shape NOTE: this method should be used very carefully to keep consistency of modifications It is recommended to use RecordModification() methods with explicit definition of mapping from current result to a new one.

◆ Shape()

const TopoDS_Shape & ShapeProcess_ShapeContext::Shape ( ) const

Returns shape being processed.


The documentation for this class was generated from the following file: