Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
IntPatch_PrmPrmIntersection Class Reference

Implementation of the Intersection between two
bi-parametrised surfaces.

To avoid multiple constructions of the approximated
polyhedron of the surfaces, the algorithm can be
called whith the two surfaces and their associated
polyhedron.

#include <IntPatch_PrmPrmIntersection.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC IntPatch_PrmPrmIntersection ()
 Empty Constructor

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_HSurface > &Caro2, const IntPatch_Polyhedron &Polyhedron2, const Handle< Adaptor3d_TopolTool > &Domain2, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment)
 Performs the intersection between <Caro1> and
<Caro2>. Associated Polyhedrons <Polyhedron1>
and <Polyhedron2> are given.

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const Handle< Adaptor3d_TopolTool > &Domain1, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment)
void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_HSurface > &Caro2, const Handle< Adaptor3d_TopolTool > &Domain2, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment, const Standard_Boolean ClearFlag=Standard_True)
 Performs the intersection between <Caro1> and
<Caro2>. The method computes the polyhedron on
each surface.

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_HSurface > &Caro2, const Handle< Adaptor3d_TopolTool > &Domain2, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment, IntSurf_ListOfPntOn2S &ListOfPnts, const Standard_Boolean RestrictLine)
 Performs the intersection between <Caro1> and
<Caro2>. The method computes the polyhedron on
each surface.

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_HSurface > &Caro2, const Handle< Adaptor3d_TopolTool > &Domain2, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment)
 Performs the intersection between <Caro1> and
<Caro2>. The method computes the polyhedron on
each surface.

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const Handle< Adaptor3d_TopolTool > &Domain1, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment)
 Performs the intersection between <Caro1> and
<Caro2>. The method computes the polyhedron on
each surface.

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_HSurface > &Caro2, const IntPatch_Polyhedron &Polyhedron2, const Handle< Adaptor3d_TopolTool > &Domain2, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment)
 Performs the intersection between <Caro1> and
<Caro2>.

The polyhedron which approximates <Caro2>,
<Polyhedron2> is given. The other one is
computed.

void Perform (const Handle< Adaptor3d_HSurface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_HSurface > &Caro2, const Handle< Adaptor3d_TopolTool > &Domain2, const Standard_Real TolTangency, const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Increment)
 Performs the intersection between <Caro1> and
<Caro2>.

The polyhedron which approximates <Caro1>,
<Polyhedron1> is given. The other one is
computed.

Standard_Boolean IsDone () const
 Returns true if the calculus was succesfull.

Standard_Boolean IsEmpty () const
 Returns true if the is no intersection.

Standard_Integer NbLines () const
 Returns the number of intersection lines.

const Handle_IntPatch_Line & Line (const Standard_Integer Index) const
 Returns the line of range Index.
An exception is raised if Index<=0 or Index>NbLine.

Handle_IntPatch_Line NewLine (const Handle< Adaptor3d_HSurface > &Caro1, const Handle< Adaptor3d_HSurface > &Caro2, const Standard_Integer IndexLine, const Standard_Integer LowPoint, const Standard_Integer HighPoint, const Standard_Integer NbPoints) const
 Computes about <NbPoints> Intersection Points on
the Line <IndexLine> between the Points of Index
<LowPoint> and <HighPoint>.

All the points of the line of index <IndexLine>
with an index between <LowPoint> and <HighPoint>
are in the returned line. New Points are inserted
between existing points if those points are not
too closed.

An exception is raised if Index<=0 or Index>NbLine.
or if IsDone returns False

Standard_Integer GrilleInteger (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz) const
void IntegerGrille (const Standard_Integer t, Standard_Integer &ix, Standard_Integer &iy, Standard_Integer &iz) const
Standard_Integer DansGrille (const Standard_Integer t) const
Standard_Integer NbPointsGrille () const
void RemplitLin (const Standard_Integer x1, const Standard_Integer y1, const Standard_Integer z1, const Standard_Integer x2, const Standard_Integer y2, const Standard_Integer z2, IntPatch_PrmPrmIntersection_T3Bits &Map) const
void RemplitTri (const Standard_Integer x1, const Standard_Integer y1, const Standard_Integer z1, const Standard_Integer x2, const Standard_Integer y2, const Standard_Integer z2, const Standard_Integer x3, const Standard_Integer y3, const Standard_Integer z3, IntPatch_PrmPrmIntersection_T3Bits &Map) const
void Remplit (const Standard_Integer a, const Standard_Integer b, const Standard_Integer c, IntPatch_PrmPrmIntersection_T3Bits &Map) const
Standard_Integer CodeReject (const Standard_Real x1, const Standard_Real y1, const Standard_Real z1, const Standard_Real x2, const Standard_Real y2, const Standard_Real z2, const Standard_Real x3, const Standard_Real y3, const Standard_Real z3) const
void PointDepart (Handle< IntSurf_LineOn2S > &LineOn2S, const Handle< Adaptor3d_HSurface > &S1, const Standard_Integer SU1, const Standard_Integer SV1, const Handle< Adaptor3d_HSurface > &S2, const Standard_Integer SU2, const Standard_Integer SV2) const

Constructor & Destructor Documentation


Member Function Documentation

const Handle_IntPatch_Line& IntPatch_PrmPrmIntersection::Line ( const Standard_Integer  Index) const
Handle_IntPatch_Line IntPatch_PrmPrmIntersection::NewLine ( const Handle< Adaptor3d_HSurface > &  Caro1,
const Handle< Adaptor3d_HSurface > &  Caro2,
const Standard_Integer  IndexLine,
const Standard_Integer  LowPoint,
const Standard_Integer  HighPoint,
const Standard_Integer  NbPoints 
) const

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