Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes
ShapeFix_Wireframe Class Reference

Provides methods for fixing wireframe of shape. More...

#include <ShapeFix_Wireframe.hxx>

Inheritance diagram for ShapeFix_Wireframe:
Inheritance graph
[legend]

Public Member Functions

 ShapeFix_Wireframe ()
 
 ShapeFix_Wireframe (const TopoDS_Shape &shape)
 
virtual void ClearStatuses ()
 Clears all statuses.
 
void Load (const TopoDS_Shape &shape)
 Loads a shape, resets statuses.
 
bool FixWireGaps ()
 Fixes gaps between ends of curves of adjacent edges (both 3d and pcurves) in wires If precision is 0.0, uses Precision::Confusion().
 
bool FixSmallEdges ()
 Fixes small edges in shape by merging adjacent edges If precision is 0.0, uses Precision::Confusion().
 
bool CheckSmallEdges (NCollection_Map< TopoDS_Shape, TopTools_ShapeMapHasher > &theSmallEdges, NCollection_DataMap< TopoDS_Shape, NCollection_List< TopoDS_Shape >, TopTools_ShapeMapHasher > &theEdgeToFaces, NCollection_DataMap< TopoDS_Shape, NCollection_List< TopoDS_Shape >, TopTools_ShapeMapHasher > &theFaceWithSmall, NCollection_Map< TopoDS_Shape, TopTools_ShapeMapHasher > &theMultyEdges)
 Auxiliary tool for FixSmallEdges which checks for small edges and fills the maps. Returns True if at least one small edge has been found.
 
bool MergeSmallEdges (NCollection_Map< TopoDS_Shape, TopTools_ShapeMapHasher > &theSmallEdges, NCollection_DataMap< TopoDS_Shape, NCollection_List< TopoDS_Shape >, TopTools_ShapeMapHasher > &theEdgeToFaces, NCollection_DataMap< TopoDS_Shape, NCollection_List< TopoDS_Shape >, TopTools_ShapeMapHasher > &theFaceWithSmall, NCollection_Map< TopoDS_Shape, TopTools_ShapeMapHasher > &theMultyEdges, const bool theModeDrop=false, const double theLimitAngle=-1)
 Auxiliary tool for FixSmallEdges which merges small edges. If theModeDrop is equal to true then small edges, which cannot be connected with adjacent edges are dropped. Otherwise they are kept. theLimitAngle specifies maximum allowed tangency discontinuity between adjacent edges. If theLimitAngle is equal to -1, this angle is not taken into account.
 
bool StatusWireGaps (const ShapeExtend_Status status) const
 Decodes the status of the last FixWireGaps. OK - No gaps were found DONE1 - Some gaps in 3D were fixed DONE2 - Some gaps in 2D were fixed FAIL1 - Failed to fix some gaps in 3D FAIL2 - Failed to fix some gaps in 2D.
 
bool StatusSmallEdges (const ShapeExtend_Status status) const
 Decodes the status of the last FixSmallEdges. OK - No small edges were found DONE1 - Some small edges were fixed FAIL1 - Failed to fix some small edges.
 
TopoDS_Shape Shape ()
 
boolModeDropSmallEdges ()
 Returns mode managing removing small edges.
 
void SetLimitAngle (const double theLimitAngle)
 Set limit angle for merging edges.
 
double LimitAngle () const
 Get limit angle for merging edges.
 
- Public Member Functions inherited from ShapeFix_Root
 ShapeFix_Root ()
 Empty Constructor (no context is created)
 
virtual void Set (const occ::handle< ShapeFix_Root > &Root)
 Copy all fields from another Root object.
 
virtual void SetContext (const occ::handle< ShapeBuild_ReShape > &context)
 Sets context.
 
occ::handle< ShapeBuild_ReShapeContext () const
 Returns context.
 
virtual void SetMsgRegistrator (const occ::handle< ShapeExtend_BasicMsgRegistrator > &msgreg)
 Sets message registrator.
 
occ::handle< ShapeExtend_BasicMsgRegistratorMsgRegistrator () const
 Returns message registrator.
 
virtual void SetPrecision (const double preci)
 Sets basic precision value.
 
double Precision () const
 Returns basic precision value.
 
virtual void SetMinTolerance (const double mintol)
 Sets minimal allowed tolerance.
 
double MinTolerance () const
 Returns minimal allowed tolerance.
 
virtual void SetMaxTolerance (const double maxtol)
 Sets maximal allowed tolerance.
 
double MaxTolerance () const
 Returns maximal allowed tolerance.
 
double LimitTolerance (const double toler) const
 Returns tolerance limited by [myMinTol,myMaxTol].
 
void SendMsg (const TopoDS_Shape &shape, const Message_Msg &message, const Message_Gravity gravity=Message_Info) const
 Sends a message to be attached to the shape. Calls corresponding message of message registrator.
 
void SendMsg (const Message_Msg &message, const Message_Gravity gravity=Message_Info) const
 Sends a message to be attached to myShape. Calls previous method.
 
void SendWarning (const TopoDS_Shape &shape, const Message_Msg &message) const
 Sends a warning to be attached to the shape. Calls SendMsg with gravity set to Message_Warning.
 
void SendWarning (const Message_Msg &message) const
 Calls previous method for myShape.
 
void SendFail (const TopoDS_Shape &shape, const Message_Msg &message) const
 Sends a fail to be attached to the shape. Calls SendMsg with gravity set to Message_Fail.
 
void SendFail (const Message_Msg &message) const
 Calls previous method for myShape.
 
- 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.
 

Protected Attributes

TopoDS_Shape myShape
 
- Protected Attributes inherited from ShapeFix_Root
TopoDS_Shape myShape
 

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.
 
- Static Protected Member Functions inherited from ShapeFix_Root
static bool NeedFix (const int flag, const bool def=true)
 Auxiliary method for work with three-position (on/off/default) flags (modes) in ShapeFix.
 

Detailed Description

Provides methods for fixing wireframe of shape.

Constructor & Destructor Documentation

◆ ShapeFix_Wireframe() [1/2]

ShapeFix_Wireframe::ShapeFix_Wireframe ( )

◆ ShapeFix_Wireframe() [2/2]

ShapeFix_Wireframe::ShapeFix_Wireframe ( const TopoDS_Shape & shape)

Member Function Documentation

◆ CheckSmallEdges()

Auxiliary tool for FixSmallEdges which checks for small edges and fills the maps. Returns True if at least one small edge has been found.

◆ ClearStatuses()

virtual void ShapeFix_Wireframe::ClearStatuses ( )
virtual

Clears all statuses.

◆ FixSmallEdges()

bool ShapeFix_Wireframe::FixSmallEdges ( )

Fixes small edges in shape by merging adjacent edges If precision is 0.0, uses Precision::Confusion().

◆ FixWireGaps()

bool ShapeFix_Wireframe::FixWireGaps ( )

Fixes gaps between ends of curves of adjacent edges (both 3d and pcurves) in wires If precision is 0.0, uses Precision::Confusion().

◆ LimitAngle()

double ShapeFix_Wireframe::LimitAngle ( ) const

Get limit angle for merging edges.

◆ Load()

void ShapeFix_Wireframe::Load ( const TopoDS_Shape & shape)

Loads a shape, resets statuses.

◆ MergeSmallEdges()

bool ShapeFix_Wireframe::MergeSmallEdges ( NCollection_Map< TopoDS_Shape, TopTools_ShapeMapHasher > & theSmallEdges,
NCollection_DataMap< TopoDS_Shape, NCollection_List< TopoDS_Shape >, TopTools_ShapeMapHasher > & theEdgeToFaces,
NCollection_DataMap< TopoDS_Shape, NCollection_List< TopoDS_Shape >, TopTools_ShapeMapHasher > & theFaceWithSmall,
NCollection_Map< TopoDS_Shape, TopTools_ShapeMapHasher > & theMultyEdges,
const bool theModeDrop = false,
const double theLimitAngle = -1 )

Auxiliary tool for FixSmallEdges which merges small edges. If theModeDrop is equal to true then small edges, which cannot be connected with adjacent edges are dropped. Otherwise they are kept. theLimitAngle specifies maximum allowed tangency discontinuity between adjacent edges. If theLimitAngle is equal to -1, this angle is not taken into account.

◆ ModeDropSmallEdges()

bool & ShapeFix_Wireframe::ModeDropSmallEdges ( )

Returns mode managing removing small edges.

◆ SetLimitAngle()

void ShapeFix_Wireframe::SetLimitAngle ( const double theLimitAngle)

Set limit angle for merging edges.

◆ Shape()

TopoDS_Shape ShapeFix_Wireframe::Shape ( )

◆ StatusSmallEdges()

bool ShapeFix_Wireframe::StatusSmallEdges ( const ShapeExtend_Status status) const

Decodes the status of the last FixSmallEdges. OK - No small edges were found DONE1 - Some small edges were fixed FAIL1 - Failed to fix some small edges.

◆ StatusWireGaps()

bool ShapeFix_Wireframe::StatusWireGaps ( const ShapeExtend_Status status) const

Decodes the status of the last FixWireGaps. OK - No gaps were found DONE1 - Some gaps in 3D were fixed DONE2 - Some gaps in 2D were fixed FAIL1 - Failed to fix some gaps in 3D FAIL2 - Failed to fix some gaps in 2D.

Field Documentation

◆ myShape

TopoDS_Shape ShapeFix_Wireframe::myShape
protected

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