Open CASCADE Technology 7.8.2.dev
IntPatch_Line Class Reference

Definition of an intersection line between two surfaces. A line may be either geometric : line, circle, ellipse, parabola, hyperbola, as defined in the class GLine, or analytic, as defined in the class ALine, or defined by a set of points (coming from a walking algorithm) as defined in the class WLine. More...

#include <IntPatch_Line.hxx>

Inheritance diagram for IntPatch_Line:

Public Member Functions

void SetValue (const Standard_Boolean Uiso1, const Standard_Boolean Viso1, const Standard_Boolean Uiso2, const Standard_Boolean 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)
 
Standard_Boolean 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.
 
Standard_Boolean IsUIsoOnS1 () const
 Returns TRUE if the intersection is a U isoparametric curve on the first patch.
 
Standard_Boolean IsVIsoOnS1 () const
 Returns TRUE if the intersection is a V isoparametric curve on the first patch.
 
Standard_Boolean IsUIsoOnS2 () const
 Returns TRUE if the intersection is a U isoparametric curve on the second patch.
 
Standard_Boolean 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_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean 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.
 
Standard_Boolean IsKind (const Standard_CString 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.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Member Functions

 IntPatch_Line (const Standard_Boolean Tang, const IntSurf_TypeTrans Trans1, const IntSurf_TypeTrans Trans2)
 To initialize the fields, when the transitions are In or Out.
 
 IntPatch_Line (const Standard_Boolean Tang, const IntSurf_Situation Situ1, const IntSurf_Situation Situ2)
 To initialize the fields, when the transitions are Touch.
 
 IntPatch_Line (const Standard_Boolean Tang)
 To initialize the fields, when the transitions are Undecided.
 

Protected Attributes

IntPatch_IType typ
 

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.
 

Detailed Description

Definition of an intersection line between two surfaces. A line may be either geometric : line, circle, ellipse, parabola, hyperbola, as defined in the class GLine, or analytic, as defined in the class ALine, or defined by a set of points (coming from a walking algorithm) as defined in the class WLine.

Constructor & Destructor Documentation

◆ IntPatch_Line() [1/3]

IntPatch_Line::IntPatch_Line ( const Standard_Boolean Tang,
const IntSurf_TypeTrans Trans1,
const IntSurf_TypeTrans Trans2 )
protected

To initialize the fields, when the transitions are In or Out.

◆ IntPatch_Line() [2/3]

IntPatch_Line::IntPatch_Line ( const Standard_Boolean Tang,
const IntSurf_Situation Situ1,
const IntSurf_Situation Situ2 )
protected

To initialize the fields, when the transitions are Touch.

◆ IntPatch_Line() [3/3]

IntPatch_Line::IntPatch_Line ( const Standard_Boolean Tang)
protected

To initialize the fields, when the transitions are Undecided.

Member Function Documentation

◆ ArcType()

IntPatch_IType IntPatch_Line::ArcType ( ) const

Returns the type of geometry 3d (Line, Circle, Parabola, Hyperbola, Ellipse, Analytic, Walking, Restriction)

◆ IsTangent()

Standard_Boolean IntPatch_Line::IsTangent ( ) const

Returns TRUE if the intersection is a line of tangency between the 2 patches.

◆ IsUIsoOnS1()

Standard_Boolean IntPatch_Line::IsUIsoOnS1 ( ) const

Returns TRUE if the intersection is a U isoparametric curve on the first patch.

◆ IsUIsoOnS2()

Standard_Boolean IntPatch_Line::IsUIsoOnS2 ( ) const

Returns TRUE if the intersection is a U isoparametric curve on the second patch.

◆ IsVIsoOnS1()

Standard_Boolean IntPatch_Line::IsVIsoOnS1 ( ) const

Returns TRUE if the intersection is a V isoparametric curve on the first patch.

◆ IsVIsoOnS2()

Standard_Boolean IntPatch_Line::IsVIsoOnS2 ( ) const

Returns TRUE if the intersection is a V isoparametric curve on the second patch.

◆ SetValue()

void IntPatch_Line::SetValue ( const Standard_Boolean Uiso1,
const Standard_Boolean Viso1,
const Standard_Boolean Uiso2,
const Standard_Boolean Viso2 )

To set the values returned by IsUIsoS1,.... The default values are False.

◆ SituationS1()

IntSurf_Situation IntPatch_Line::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.

◆ SituationS2()

IntSurf_Situation IntPatch_Line::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.

◆ TransitionOnS1()

IntSurf_TypeTrans IntPatch_Line::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.

  • TOUCH, if it is possible to use the 2nd derivatives to determine the position of one surafce compared to the other (see Situation)
  • UNDECIDED otherwise.

If one of the transition is TOUCH or UNDECIDED, the other one has got the same value.

◆ TransitionOnS2()

IntSurf_TypeTrans IntPatch_Line::TransitionOnS2 ( ) const

Returns the type of the transition of the line for the second surface. The transition is "constant" along the line.

Field Documentation

◆ typ

IntPatch_IType IntPatch_Line::typ
protected

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