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

Splits a curve with a criterion. More...

#include <ShapeUpgrade_SplitCurve.hxx>

Inheritance diagram for ShapeUpgrade_SplitCurve:
Inheritance graph
[legend]

Public Member Functions

 ShapeUpgrade_SplitCurve ()
 Empty constructor.
 
void Init (const double First, const double Last)
 Initializes with curve first and last parameters.
 
void SetSplitValues (const occ::handle< NCollection_HSequence< double > > &SplitValues)
 Sets the parameters where splitting has to be done.
 
virtual void Build (const bool Segment)
 If Segment is True, the result is composed with segments of the curve bounded by the SplitValues. If Segment is False, the result is composed with trimmed Curves all based on the same complete curve.
 
const occ::handle< NCollection_HSequence< double > > & SplitValues () const
 returns all the splitting values including the First and Last parameters of the input curve Merges input split values and new ones into myGlobalKnots
 
virtual void Compute ()
 Calculates points for correction/splitting of the curve.
 
void Perform (const bool Segment=true)
 Performs correction/splitting of the curve. First defines splitting values by method Compute(), then calls method Build().
 
bool Status (const ShapeExtend_Status status) const
 Returns the status OK - no splitting is needed DONE1 - splitting required and gives more than one segment DONE2 - splitting is required, but gives only one segment (initial) DONE3 - geometric form of the curve or parametrisation is modified.
 
- 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

occ::handle< NCollection_HSequence< double > > mySplitValues
 
int myNbCurves
 
int myStatus
 

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

Splits a curve with a criterion.

Constructor & Destructor Documentation

◆ ShapeUpgrade_SplitCurve()

ShapeUpgrade_SplitCurve::ShapeUpgrade_SplitCurve ( )

Empty constructor.

Member Function Documentation

◆ Build()

virtual void ShapeUpgrade_SplitCurve::Build ( const bool Segment)
virtual

If Segment is True, the result is composed with segments of the curve bounded by the SplitValues. If Segment is False, the result is composed with trimmed Curves all based on the same complete curve.

Reimplemented in ShapeUpgrade_ConvertCurve2dToBezier, ShapeUpgrade_ConvertCurve3dToBezier, ShapeUpgrade_SplitCurve2d, and ShapeUpgrade_SplitCurve3d.

◆ Compute()

virtual void ShapeUpgrade_SplitCurve::Compute ( )
virtual

◆ Init()

void ShapeUpgrade_SplitCurve::Init ( const double First,
const double Last )

Initializes with curve first and last parameters.

◆ Perform()

void ShapeUpgrade_SplitCurve::Perform ( const bool Segment = true)

Performs correction/splitting of the curve. First defines splitting values by method Compute(), then calls method Build().

◆ SetSplitValues()

void ShapeUpgrade_SplitCurve::SetSplitValues ( const occ::handle< NCollection_HSequence< double > > & SplitValues)

Sets the parameters where splitting has to be done.

◆ SplitValues()

const occ::handle< NCollection_HSequence< double > > & ShapeUpgrade_SplitCurve::SplitValues ( ) const

returns all the splitting values including the First and Last parameters of the input curve Merges input split values and new ones into myGlobalKnots

◆ Status()

bool ShapeUpgrade_SplitCurve::Status ( const ShapeExtend_Status status) const

Returns the status OK - no splitting is needed DONE1 - splitting required and gives more than one segment DONE2 - splitting is required, but gives only one segment (initial) DONE3 - geometric form of the curve or parametrisation is modified.

Field Documentation

◆ myNbCurves

int ShapeUpgrade_SplitCurve::myNbCurves
protected

◆ mySplitValues

occ::handle<NCollection_HSequence<double> > ShapeUpgrade_SplitCurve::mySplitValues
protected

◆ myStatus

int ShapeUpgrade_SplitCurve::myStatus
protected

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