IntPolyh
OCCT package IntPolyh: IntPolyh_Couple, IntPolyh_Edge, IntPolyh_Intersection, IntPolyh_Point, and 5 more bound classes.
IntPolyh_Couple
The class represents the couple of indices with additional characteristics such as analyzed flag and an angle. In IntPolyh_MaillageAffinage algorithm the class is used as a couple of interfering triangles with the intersection angle.
Constructors(2)
Constructor.
- constructor(theTriangle1: number, theTriangle2: number, theAngle?: number): IntPolyh_Couple
Constructor.
Parameters (3)theTriangle1theTriangle2theAngle
Instance methods(9)
- FirstValue(): number
Returns the first index.
- SecondValue(): number
Returns the second index.
- IsAnalyzed(): boolean
Returns TRUE if the couple has been analyzed.
- Angle(): number
Returns the angle.
- SetCoupleValue(theInd1: number, theInd2: number): void
Sets the triangles.
Parameters (2)theInd1theInd2
- SetAnalyzed(theAnalyzed: boolean): void
Sets the analyzed flag.
Parameters (1)theAnalyzed
- SetAngle(theAngle: number): void
Sets the angle.
Parameters (1)theAngle
- IsEqual(theOther: IntPolyh_Couple): boolean
Returns true if the Couple is equal to <theOther>.
Parameters (1)theOther
- Dump(v: number): voidParameters (1)
v
IntPolyh_Edge
The class represents the edge built between the two IntPolyh points. It is linked to two IntPolyh triangles.
Constructors(2)
Constructor.
- constructor(thePoint1: number, thePoint2: number, theTriangle1: number, theTriangle2: number): IntPolyh_Edge
Constructor.
Parameters (4)thePoint1thePoint2theTriangle1theTriangle2
Instance methods(9)
- FirstPoint(): number
Returns the first point.
- SecondPoint(): number
Returns the second point.
- FirstTriangle(): number
Returns the first triangle.
- SecondTriangle(): number
Returns the second triangle.
- SetFirstPoint(thePoint: number): void
Sets the first point.
Parameters (1)thePoint
- SetSecondPoint(thePoint: number): void
Sets the second point.
Parameters (1)thePoint
- SetFirstTriangle(theTriangle: number): void
Sets the first triangle.
Parameters (1)theTriangle
- SetSecondTriangle(theTriangle: number): void
Sets the second triangle.
Parameters (1)theTriangle
- Dump(v: number): voidParameters (1)
v
IntPolyh_Intersection
API algorithm for intersection of two surfaces by intersection of their triangulations.
Algorithm provides possibility to intersect surfaces as without the precomputed sampling as with it.
If the numbers of sampling points are not given, it will build the net of 10x10 sampling points for each surface.
The intersection is done inside constructors. Before obtaining the results of intersection it is necessary to check if intersection has been performed correctly. It can be done by calling the IsDone() method.
The results of intersection are the intersection lines and points.
Constructors(3)
- constructor(theS1: Adaptor3d_Surface, theS2: Adaptor3d_Surface): IntPolyh_IntersectionParameters (2)
theS1theS2
- constructor(theS1: Adaptor3d_Surface, theNbSU1: number, theNbSV1: number, theS2: Adaptor3d_Surface, theNbSU2: number, theNbSV2: number): IntPolyh_IntersectionParameters (6)
theS1theNbSU1theNbSV1theS2theNbSU2theNbSV2
- constructor(theS1: Adaptor3d_Surface, theUPars1: NCollection_Array1_double, theVPars1: NCollection_Array1_double, theS2: Adaptor3d_Surface, theUPars2: NCollection_Array1_double, theVPars2: NCollection_Array1_double): IntPolyh_IntersectionParameters (6)
theS1theUPars1theVPars1theS2theUPars2theVPars2
Instance methods(7)
- IsParallel(): boolean
- NbSectionLines(): number
- NbPointsInLine(IndexLine: number): numberParameters (1)
IndexLine
- NbTangentZones(): number
- NbPointsInTangentZone(argNo0: number): numberParameters (1)
argNo0
- GetLinePoint(IndexLine: number, IndexPoint: number, x: number, y: number, z: number, u1: number, v1: number, u2: number, v2: number, incidence: number): { x: number; y: number; z: number; u1: number; v1: number; u2: number; v2: number; incidence: number }Parameters (10)
IndexLineIndexPointxyzu1v1u2v2incidence
- GetTangentZonePoint(IndexLine: number, IndexPoint: number, x: number, y: number, z: number, u1: number, v1: number, u2: number, v2: number): { x: number; y: number; z: number; u1: number; v1: number; u2: number; v2: number }Parameters (9)
IndexLineIndexPointxyzu1v1u2v2
IntPolyh_Point
The class represents the point on the surface with both 3D and 2D points.
Constructors(2)
Constructor.
- constructor(x: number, y: number, z: number, u: number, v: number): IntPolyh_Point
Constructor.
Parameters (5)xyzuv
Instance methods(26)
- X(): number
Returns X coordinate of the 3D point.
- Y(): number
Returns Y coordinate of the 3D point.
- Z(): number
Returns the Z coordinate of the 3D point.
- U(): number
Returns the U coordinate of the 2D point.
- V(): number
Returns the V coordinate of the 2D point.
- PartOfCommon(): number
Returns 0 if the point is not common with the other surface.
- Set(x: number, y: number, z: number, u: number, v: number, II?: number): void
Sets the point.
Parameters (6)xyzuvII
- SetX(x: number): void
Sets the X coordinate for the 3D point.
Parameters (1)x
- SetY(y: number): void
Sets the Y coordinate for the 3D point.
Parameters (1)y
- SetZ(z: number): void
Sets the Z coordinate for the 3D point.
Parameters (1)z
- SetU(u: number): void
Sets the U coordinate for the 2D point.
Parameters (1)u
- SetV(v: number): void
Sets the V coordinate for the 2D point.
Parameters (1)v
- SetPartOfCommon(ii: number): void
Sets the part of common.
Parameters (1)ii
- Middle(MySurface: Adaptor3d_Surface, P1: IntPolyh_Point, P2: IntPolyh_Point): void
Creates middle point from P1 and P2 and stores it to this.
Parameters (3)MySurfaceP1P2
- Add(P1: IntPolyh_Point): IntPolyh_Point
Addition.
Parameters (1)P1
- Sub(P1: IntPolyh_Point): IntPolyh_Point
Subtraction.
Parameters (1)P1
- Divide(rr: number): IntPolyh_Point
Division.
Parameters (1)rr
- Multiplication(rr: number): IntPolyh_Point
Multiplication.
Parameters (1)rr
- SquareModulus(): number
Square modulus.
- SquareDistance(P2: IntPolyh_Point): number
Square distance to the other point.
Parameters (1)P2
- Dot(P2: IntPolyh_Point): number
Dot.
Parameters (1)P2
- Cross(P1: IntPolyh_Point, P2: IntPolyh_Point): void
Cross.
Parameters (2)P1P2
- Dump(): void
Dump.
- Dump(i: number): void
Dump.
Parameters (1)i
- SetDegenerated(theFlag: boolean): void
Sets the degenerated flag.
Parameters (1)theFlag
- Degenerated(): boolean
Returns the degenerated flag.
IntPolyh_PointNormal
Auxiliary structure to represent pair of point and normal vector in this point on the surface.
Constructors(1)
Properties(2)
IntPolyh_SectionLine
Constructors(3)
- constructor(nn: number): IntPolyh_SectionLineParameters (1)
nn
- constructor(theOther: IntPolyh_SectionLine): IntPolyh_SectionLineParameters (1)
theOther
Instance methods(10)
- Init(nn: number): voidParameters (1)
nn
- Value(nn: number): IntPolyh_StartPointParameters (1)
nn
- ChangeValue(nn: number): IntPolyh_StartPointParameters (1)
nn
- Copy(Other: IntPolyh_SectionLine): IntPolyh_SectionLineParameters (1)
Other
- GetN(): number
- NbStartPoints(): number
- IncrementNbStartPoints(): void
- Destroy(): void
- Dump(): void
- Prepend(SP: IntPolyh_StartPoint): voidParameters (1)
SP
IntPolyh_StartPoint
Constructors(2)
- constructor(xx: number, yy: number, zz: number, uu1: number, vv1: number, uu2: number, vv2: number, T1: number, E1: number, LAM1: number, T2: number, E2: number, LAM2: number, List: number): IntPolyh_StartPointParameters (14)
xxyyzzuu1vv1uu2vv2T1E1LAM1T2E2LAM2List
Instance methods(29)
- X(): number
- Y(): number
- Z(): number
- U1(): number
- V1(): number
- U2(): number
- V2(): number
- T1(): number
- E1(): number
- Lambda1(): number
- T2(): number
- E2(): number
- Lambda2(): number
- GetAngle(): number
- ChainList(): number
- GetEdgePoints(Triangle: IntPolyh_Triangle, FirstEdgePoint: number, SecondEdgePoint: number, LastPoint: number): { returnValue: number; FirstEdgePoint: number; SecondEdgePoint: number; LastPoint: number }Parameters (4)
TriangleFirstEdgePointSecondEdgePointLastPoint
- SetXYZ(XX: number, YY: number, ZZ: number): voidParameters (3)
XXYYZZ
- SetUV1(UU1: number, VV1: number): voidParameters (2)
UU1VV1
- SetUV2(UU2: number, VV2: number): voidParameters (2)
UU2VV2
- SetEdge1(IE1: number): voidParameters (1)
IE1
- SetLambda1(LAM1: number): voidParameters (1)
LAM1
- SetEdge2(IE2: number): voidParameters (1)
IE2
- SetLambda2(LAM2: number): voidParameters (1)
LAM2
- SetCoupleValue(IT1: number, IT2: number): voidParameters (2)
IT1IT2
- SetAngle(ang: number): voidParameters (1)
ang
- SetChainList(ChList: number): voidParameters (1)
ChList
- CheckSameSP(SP: IntPolyh_StartPoint): numberParameters (1)
SP
- Dump(): void
- Dump(i: number): voidParameters (1)
i
IntPolyh_Tools
The class provides tools for surface sampling.
Constructors(1)
Static methods(4)
- IsEnlargePossible(theSurf: Adaptor3d_Surface, theUEnlarge: boolean, theVEnlarge: boolean): { theUEnlarge: boolean; theVEnlarge: boolean }
Checks if the surface can be enlarged in U or V direction.
Parameters (3)theSurftheUEnlargetheVEnlarge
ReturnsA result object with fields:
theUEnlarge: updated value from the call.theVEnlarge: updated value from the call.
- MakeSampling(theSurf: Adaptor3d_Surface, theNbSU: number, theNbSV: number, theEnlargeZone: boolean, theUPars: NCollection_Array1_double, theVPars: NCollection_Array1_double): void
Makes the sampling of the given surface <theSurf> making the net of <theNbSU> x <theNbSV> sampling points. The flag <theEnlargeZone> controls the enlargement of the sampling zone on the surface. The parameters of the sampling points are stored into <theUPars> and <theVPars> arrays.
Parameters (6)theSurftheNbSUtheNbSVtheEnlargeZonetheUPars—Mutated in place; read the updated value from this argument after the call.theVPars—Mutated in place; read the updated value from this argument after the call.
- ComputeDeflection(theSurf: Adaptor3d_Surface, theUPars: NCollection_Array1_double, theVPars: NCollection_Array1_double): number
Computes the deflection tolerance on the surface for the given sampling.
Parameters (3)theSurftheUParstheVPars
- FillArrayOfPointNormal(theSurf: Adaptor3d_Surface, theUPars: NCollection_Array1_double, theVPars: NCollection_Array1_double, thePoints: IntPolyh_ArrayOfPointNormal): void
Fills the array <thePoints> with the points (triangulation nodes) on the surface and normal directions of the surface in these points.
Parameters (4)theSurftheUParstheVParsthePoints
IntPolyh_Triangle
The class represents the triangle built from three IntPolyh points and three IntPolyh edges.
Constructors(2)
Constructor.
- constructor(thePoint1: number, thePoint2: number, thePoint3: number): IntPolyh_Triangle
Constructor.
Parameters (3)thePoint1thePoint2thePoint3
Instance methods(35)
- FirstPoint(): number
Returns the first point.
- SecondPoint(): number
Returns the second point.
- ThirdPoint(): number
Returns the third point.
- FirstEdge(): number
Returns the first edge.
- FirstEdgeOrientation(): number
Returns the orientation of the first edge.
- SecondEdge(): number
Returns the second edge.
- SecondEdgeOrientation(): number
Returns the orientation of the second edge.
- ThirdEdge(): number
Returns the third edge.
- ThirdEdgeOrientation(): number
Returns the orientation of the third edge.
- Deflection(): number
Returns the deflection of the triangle.
- IsIntersectionPossible(): boolean
Returns possibility of the intersection.
- HasIntersection(): boolean
Returns true if the triangle has interfered the other triangle.
- IsDegenerated(): boolean
Returns the Degenerated flag.
- SetFirstPoint(thePoint: number): void
Sets the first point.
Parameters (1)thePoint
- SetSecondPoint(thePoint: number): void
Sets the second point.
Parameters (1)thePoint
- SetThirdPoint(thePoint: number): void
Sets the third point.
Parameters (1)thePoint
- SetFirstEdge(theEdge: number, theEdgeOrientation: number): void
Sets the first edge.
Parameters (2)theEdgetheEdgeOrientation
- SetSecondEdge(theEdge: number, theEdgeOrientation: number): void
Sets the second edge.
Parameters (2)theEdgetheEdgeOrientation
- SetThirdEdge(theEdge: number, theEdgeOrientation: number): void
Sets the third edge.
Parameters (2)theEdgetheEdgeOrientation
- SetDeflection(theDeflection: number): void
Sets the deflection.
Parameters (1)theDeflection
- SetIntersectionPossible(theIP: boolean): void
Sets the flag of possibility of intersection.
Parameters (1)theIP
- SetIntersection(theInt: boolean): void
Sets the flag of intersection.
Parameters (1)theInt
- SetDegenerated(theDegFlag: boolean): void
Sets the degenerated flag.
Parameters (1)theDegFlag
- GetEdgeNumber(theEdgeIndex: number): number
Gets the edge number by the index.
Parameters (1)theEdgeIndex
- SetEdge(theEdgeIndex: number, theEdgeNumber: number): void
Sets the edge by the index.
Parameters (2)theEdgeIndextheEdgeNumber
- GetEdgeOrientation(theEdgeIndex: number): number
Gets the edges orientation by the index.
Parameters (1)theEdgeIndex
- SetEdgeOrientation(theEdgeIndex: number, theEdgeOrientation: number): void
Sets the edges orientation by the index.
Parameters (2)theEdgeIndextheEdgeOrientation
- ComputeDeflection(theSurface: Adaptor3d_Surface, thePoints: IntPolyh_ArrayOfPoints): number
Computes the deflection for the triangle.
Parameters (2)theSurfacethePoints
- GetNextTriangle(theTriangle: number, theEdgeNum: number, TEdges: IntPolyh_ArrayOfEdges): number
Gets the adjacent triangle.
Parameters (3)theTriangletheEdgeNumTEdges
- MiddleRefinement(theTriangleNumber: number, theSurface: Adaptor3d_Surface, TPoints: IntPolyh_ArrayOfPoints, TTriangles: IntPolyh_ArrayOfTriangles, TEdges: IntPolyh_ArrayOfEdges): void
Splits the triangle on two to decrease its deflection.
Parameters (5)theTriangleNumbertheSurfaceTPointsTTrianglesTEdges
- MultipleMiddleRefinement(theRefineCriterion: number, theBox: Bnd_Box, theTriangleNumber: number, theSurface: Adaptor3d_Surface, TPoints: IntPolyh_ArrayOfPoints, TTriangles: IntPolyh_ArrayOfTriangles, TEdges: IntPolyh_ArrayOfEdges): void
Splits the current triangle and new triangles until the refinement criterion is not achieved.
Parameters (7)theRefineCriteriontheBoxtheTriangleNumbertheSurfaceTPointsTTrianglesTEdges
- LinkEdges2Triangle(TEdges: IntPolyh_ArrayOfEdges, theEdge1: number, theEdge2: number, theEdge3: number): void
Links edges to triangle.
Parameters (4)TEdgestheEdge1theEdge2theEdge3
- SetEdgeAndOrientation(theEdge: IntPolyh_Edge, theEdgeIndex: number): void
Sets the appropriate edge and orientation for the triangle.
Parameters (2)theEdgetheEdgeIndex
- BoundingBox(thePoints: IntPolyh_ArrayOfPoints): Bnd_Box
Returns the bounding box of the triangle.
Parameters (1)thePoints
- Dump(v: number): void
Dumps the contents of the triangle.
Parameters (1)v