![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Implementation of an intersection line described by a parametrized curve. More...
#include <IntPatch_ALine.hxx>

Public Member Functions | |
| IntPatch_ALine (const IntAna_Curve &C, const bool Tang, const IntSurf_TypeTrans Trans1, const IntSurf_TypeTrans Trans2) | |
| Creates an analytic intersection line when the transitions are In or Out. | |
| IntPatch_ALine (const IntAna_Curve &C, const bool Tang, const IntSurf_Situation Situ1, const IntSurf_Situation Situ2) | |
| Creates an analytic intersection line when the transitions are Touch. | |
| IntPatch_ALine (const IntAna_Curve &C, const bool Tang) | |
| Creates an analytic intersection line when the transitions are Undecided. | |
| void | AddVertex (const IntPatch_Point &Pnt) |
| To add a vertex in the list. | |
| void | Replace (const int Index, const IntPatch_Point &Pnt) |
| Replaces the element of range Index in the list of points. | |
| void | SetFirstPoint (const int IndFirst) |
| void | SetLastPoint (const int IndLast) |
| double | FirstParameter (bool &IsIncluded) const |
| Returns the first parameter on the intersection line. If IsIncluded returns True, Value and D1 methods can be call with a parameter equal to FirstParameter. Otherwise, the parameter must be greater than FirstParameter. | |
| double | LastParameter (bool &IsIncluded) const |
| Returns the last parameter on the intersection line. If IsIncluded returns True, Value and D1 methods can be call with a parameter equal to LastParameter. Otherwise, the parameter must be less than LastParameter. | |
| gp_Pnt | Value (const double U) |
| Returns the point of parameter U on the analytic intersection line. | |
| bool | D1 (const double U, gp_Pnt &P, gp_Vec &Du) |
| Returns true when the derivative at parameter U is defined on the analytic intersection line. In that case, Du is the derivative. Returns false when it is not possible to evaluate the derivative. In both cases, P is the point at parameter U on the intersection. | |
| void | FindParameter (const gp_Pnt &P, NCollection_List< double > &theParams) const |
| Tries to find the parameters of the point P on the curve. If the method returns False, the "projection" is impossible. If the method returns True at least one parameter has been found. theParams is always sorted in ascending order. | |
| bool | HasFirstPoint () const |
| Returns True if the line has a known First point. This point is given by the method FirstPoint(). | |
| bool | HasLastPoint () const |
| Returns True if the line has a known Last point. This point is given by the method LastPoint(). | |
| const IntPatch_Point & | FirstPoint () const |
| Returns the IntPoint corresponding to the FirstPoint. An exception is raised when HasFirstPoint returns False. | |
| const IntPatch_Point & | LastPoint () const |
| Returns the IntPoint corresponding to the LastPoint. An exception is raised when HasLastPoint returns False. | |
| int | NbVertex () const |
| const IntPatch_Point & | Vertex (const int Index) const |
| Returns the vertex of range Index on the line. | |
| IntPatch_Point & | ChangeVertex (const int theIndex) |
| Allows modifying the vertex with index theIndex on the line. | |
| void | ComputeVertexParameters (const double Tol) |
| Set the parameters of all the vertex on the line. if a vertex is already in the line, its parameter is modified else a new point in the line is inserted. | |
| const IntAna_Curve & | Curve () const |
Public Member Functions inherited from IntPatch_Line | |
| void | SetValue (const bool Uiso1, const bool Viso1, const bool Uiso2, const bool Viso2) |
| To set the values returned by IsUIsoS1,.... The default values are False. | |
| IntPatch_IType | ArcType () const |
| Returns the type of geometry 3d (Line, Circle, Parabola, Hyperbola, Ellipse, Analytic, Walking, Restriction) | |
| bool | IsTangent () const |
| Returns TRUE if the intersection is a line of tangency between the 2 patches. | |
| IntSurf_TypeTrans | TransitionOnS1 () const |
| Returns the type of the transition of the line for the first surface. The transition is "constant" along the line. The transition is IN if the line is oriented in such a way that the system of vector (N1,N2,T) is right-handed, where N1 is the normal to the first surface at a point P, N2 is the normal to the second surface at a point P, T is the tangent to the intersection line at P. If the system of vector is left-handed, the transition is OUT. When N1 and N2 are colinear all along the intersection line, the transition will be. | |
| IntSurf_TypeTrans | TransitionOnS2 () const |
| Returns the type of the transition of the line for the second surface. The transition is "constant" along the line. | |
| IntSurf_Situation | SituationS1 () const |
| Returns the situation (INSIDE/OUTSIDE/UNKNOWN) of the first patch compared to the second one, when TransitionOnS1 or TransitionOnS2 returns TOUCH. Otherwise, an exception is raised. | |
| IntSurf_Situation | SituationS2 () const |
| Returns the situation (INSIDE/OUTSIDE/UNKNOWN) of the second patch compared to the first one, when TransitionOnS1 or TransitionOnS2 returns TOUCH. Otherwise, an exception is raised. | |
| bool | IsUIsoOnS1 () const |
| Returns TRUE if the intersection is a U isoparametric curve on the first patch. | |
| bool | IsVIsoOnS1 () const |
| Returns TRUE if the intersection is a V isoparametric curve on the first patch. | |
| bool | IsUIsoOnS2 () const |
| Returns TRUE if the intersection is a U isoparametric curve on the second patch. | |
| bool | IsVIsoOnS2 () const |
| Returns TRUE if the intersection is a V isoparametric curve on the second patch. | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. | |
| Standard_Transient & | operator= (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_Transient * | This () 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 char * | get_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. | |
Protected Member Functions inherited from IntPatch_Line | |
| IntPatch_Line (const bool Tang, const IntSurf_TypeTrans Trans1, const IntSurf_TypeTrans Trans2) | |
| To initialize the fields, when the transitions are In or Out. | |
| IntPatch_Line (const bool Tang, const IntSurf_Situation Situ1, const IntSurf_Situation Situ2) | |
| To initialize the fields, when the transitions are Touch. | |
| IntPatch_Line (const bool Tang) | |
| To initialize the fields, when the transitions are Undecided. | |
Protected Attributes inherited from IntPatch_Line | |
| IntPatch_IType | typ |
Implementation of an intersection line described by a parametrized curve.
| IntPatch_ALine::IntPatch_ALine | ( | const IntAna_Curve & | C, |
| const bool | Tang, | ||
| const IntSurf_TypeTrans | Trans1, | ||
| const IntSurf_TypeTrans | Trans2 ) |
Creates an analytic intersection line when the transitions are In or Out.
| IntPatch_ALine::IntPatch_ALine | ( | const IntAna_Curve & | C, |
| const bool | Tang, | ||
| const IntSurf_Situation | Situ1, | ||
| const IntSurf_Situation | Situ2 ) |
Creates an analytic intersection line when the transitions are Touch.
| IntPatch_ALine::IntPatch_ALine | ( | const IntAna_Curve & | C, |
| const bool | Tang ) |
Creates an analytic intersection line when the transitions are Undecided.
| void IntPatch_ALine::AddVertex | ( | const IntPatch_Point & | Pnt | ) |
To add a vertex in the list.
|
inline |
Allows modifying the vertex with index theIndex on the line.
Set the parameters of all the vertex on the line. if a vertex is already in the line, its parameter is modified else a new point in the line is inserted.
| const IntAna_Curve & IntPatch_ALine::Curve | ( | ) | const |
Returns true when the derivative at parameter U is defined on the analytic intersection line. In that case, Du is the derivative. Returns false when it is not possible to evaluate the derivative. In both cases, P is the point at parameter U on the intersection.
| void IntPatch_ALine::FindParameter | ( | const gp_Pnt & | P, |
| NCollection_List< double > & | theParams ) const |
Tries to find the parameters of the point P on the curve. If the method returns False, the "projection" is impossible. If the method returns True at least one parameter has been found. theParams is always sorted in ascending order.
Returns the first parameter on the intersection line. If IsIncluded returns True, Value and D1 methods can be call with a parameter equal to FirstParameter. Otherwise, the parameter must be greater than FirstParameter.
| const IntPatch_Point & IntPatch_ALine::FirstPoint | ( | ) | const |
Returns the IntPoint corresponding to the FirstPoint. An exception is raised when HasFirstPoint returns False.
| bool IntPatch_ALine::HasFirstPoint | ( | ) | const |
Returns True if the line has a known First point. This point is given by the method FirstPoint().
| bool IntPatch_ALine::HasLastPoint | ( | ) | const |
Returns True if the line has a known Last point. This point is given by the method LastPoint().
Returns the last parameter on the intersection line. If IsIncluded returns True, Value and D1 methods can be call with a parameter equal to LastParameter. Otherwise, the parameter must be less than LastParameter.
| const IntPatch_Point & IntPatch_ALine::LastPoint | ( | ) | const |
Returns the IntPoint corresponding to the LastPoint. An exception is raised when HasLastPoint returns False.
| int IntPatch_ALine::NbVertex | ( | ) | const |
| void IntPatch_ALine::Replace | ( | const int | Index, |
| const IntPatch_Point & | Pnt ) |
Replaces the element of range Index in the list of points.
Returns the point of parameter U on the analytic intersection line.
| const IntPatch_Point & IntPatch_ALine::Vertex | ( | const int | Index | ) | const |
Returns the vertex of range Index on the line.