![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Implementation of the Intersection between two bi-parametrised surfaces. More...
#include <IntPatch_PrmPrmIntersection.hxx>
Public Member Functions | |
| IntPatch_PrmPrmIntersection () | |
| Empty Constructor. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const IntPatch_Polyhedron &Polyhedron2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment) |
| Performs the intersection between <Caro1> and <Caro2>. Associated Polyhedrons <Polyhedron1> and <Polyhedron2> are given. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const double TolTangency, const double Epsilon, const double Deflection, const double Increment) |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment, const bool ClearFlag=true) |
| Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment, NCollection_List< IntSurf_PntOn2S > &ListOfPnts) |
| Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double U1, const double V1, const double U2, const double V2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment) |
| Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const double TolTangency, const double Epsilon, const double Deflection, const double Increment) |
| Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const IntPatch_Polyhedron &Polyhedron2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment) |
| Performs the intersection between <Caro1> and <Caro2>. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment) |
| Performs the intersection between <Caro1> and <Caro2>. | |
| bool | IsDone () const |
| Returns true if the calculus was successful. | |
| bool | IsEmpty () const |
| Returns true if the is no intersection. | |
| int | NbLines () const |
| Returns the number of intersection lines. | |
| const occ::handle< IntPatch_Line > & | Line (const int Index) const |
| Returns the line of range Index. An exception is raised if Index<=0 or Index>NbLine. | |
| occ::handle< IntPatch_Line > | NewLine (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_Surface > &Caro2, const int IndexLine, const int LowPoint, const int HighPoint, const int NbPoints) const |
| Computes about <NbPoints> Intersection Points on the Line <IndexLine> between the Points of Index <LowPoint> and <HighPoint>. | |
| int | GrilleInteger (const int ix, const int iy, const int iz) const |
| void | IntegerGrille (const int t, int &ix, int &iy, int &iz) const |
| int | DansGrille (const int t) const |
| int | NbPointsGrille () const |
| void | RemplitLin (const int x1, const int y1, const int z1, const int x2, const int y2, const int z2, IntPatch_PrmPrmIntersection_T3Bits &Map) const |
| void | RemplitTri (const int x1, const int y1, const int z1, const int x2, const int y2, const int z2, const int x3, const int y3, const int z3, IntPatch_PrmPrmIntersection_T3Bits &Map) const |
| void | Remplit (const int a, const int b, const int c, IntPatch_PrmPrmIntersection_T3Bits &Map) const |
| int | CodeReject (const double x1, const double y1, const double z1, const double x2, const double y2, const double z2, const double x3, const double y3, const double z3) const |
| void | PointDepart (occ::handle< IntSurf_LineOn2S > &LineOn2S, const occ::handle< Adaptor3d_Surface > &S1, const int SU1, const int SV1, const occ::handle< Adaptor3d_Surface > &S2, const int SU2, const int SV2) const |
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 with the two surfaces and their associated polyhedron.
| IntPatch_PrmPrmIntersection::IntPatch_PrmPrmIntersection | ( | ) |
Empty Constructor.
| int IntPatch_PrmPrmIntersection::CodeReject | ( | const double | x1, |
| const double | y1, | ||
| const double | z1, | ||
| const double | x2, | ||
| const double | y2, | ||
| const double | z2, | ||
| const double | x3, | ||
| const double | y3, | ||
| const double | z3 ) const |
| bool IntPatch_PrmPrmIntersection::IsDone | ( | ) | const |
Returns true if the calculus was successful.
| bool IntPatch_PrmPrmIntersection::IsEmpty | ( | ) | const |
Returns true if the is no intersection.
| const occ::handle< IntPatch_Line > & IntPatch_PrmPrmIntersection::Line | ( | const int | Index | ) | const |
Returns the line of range Index. An exception is raised if Index<=0 or Index>NbLine.
| int IntPatch_PrmPrmIntersection::NbLines | ( | ) | const |
Returns the number of intersection lines.
| int IntPatch_PrmPrmIntersection::NbPointsGrille | ( | ) | const |
| occ::handle< IntPatch_Line > IntPatch_PrmPrmIntersection::NewLine | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const int | IndexLine, | ||
| const int | LowPoint, | ||
| const int | HighPoint, | ||
| const int | 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
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const IntPatch_Polyhedron & | Polyhedron1, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment ) |
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const IntPatch_Polyhedron & | Polyhedron1, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const IntPatch_Polyhedron & | Polyhedron2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain2, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment ) |
Performs the intersection between <Caro1> and <Caro2>. Associated Polyhedrons <Polyhedron1> and <Polyhedron2> are given.
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const IntPatch_Polyhedron & | Polyhedron1, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain2, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment ) |
Performs the intersection between <Caro1> and <Caro2>.
The polyhedron which approximates <Caro1>, <Polyhedron1> is given. The other one is computed.
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment ) |
Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const IntPatch_Polyhedron & | Polyhedron2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain2, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment ) |
Performs the intersection between <Caro1> and <Caro2>.
The polyhedron which approximates <Caro2>, <Polyhedron2> is given. The other one is computed.
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain2, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment, | ||
| const bool | ClearFlag = true ) |
Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain2, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment, | ||
| NCollection_List< IntSurf_PntOn2S > & | ListOfPnts ) |
Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
| void IntPatch_PrmPrmIntersection::Perform | ( | const occ::handle< Adaptor3d_Surface > & | Caro1, |
| const occ::handle< Adaptor3d_TopolTool > & | Domain1, | ||
| const occ::handle< Adaptor3d_Surface > & | Caro2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | Domain2, | ||
| const double | U1, | ||
| const double | V1, | ||
| const double | U2, | ||
| const double | V2, | ||
| const double | TolTangency, | ||
| const double | Epsilon, | ||
| const double | Deflection, | ||
| const double | Increment ) |
Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
| void IntPatch_PrmPrmIntersection::PointDepart | ( | occ::handle< IntSurf_LineOn2S > & | LineOn2S, |
| const occ::handle< Adaptor3d_Surface > & | S1, | ||
| const int | SU1, | ||
| const int | SV1, | ||
| const occ::handle< Adaptor3d_Surface > & | S2, | ||
| const int | SU2, | ||
| const int | SV2 ) const |
| void IntPatch_PrmPrmIntersection::Remplit | ( | const int | a, |
| const int | b, | ||
| const int | c, | ||
| IntPatch_PrmPrmIntersection_T3Bits & | Map ) const |
| void IntPatch_PrmPrmIntersection::RemplitLin | ( | const int | x1, |
| const int | y1, | ||
| const int | z1, | ||
| const int | x2, | ||
| const int | y2, | ||
| const int | z2, | ||
| IntPatch_PrmPrmIntersection_T3Bits & | Map ) const |
| void IntPatch_PrmPrmIntersection::RemplitTri | ( | const int | x1, |
| const int | y1, | ||
| const int | z1, | ||
| const int | x2, | ||
| const int | y2, | ||
| const int | z2, | ||
| const int | x3, | ||
| const int | y3, | ||
| const int | z3, | ||
| IntPatch_PrmPrmIntersection_T3Bits & | Map ) const |