HLRAlgo
OCCT package HLRAlgo: HLRAlgo, HLRAlgo_BiPoint, HLRAlgo_BiPoint_PointsT, HLRAlgo_EdgeIterator, and 15 more bound classes.
HLRAlgo
In order to have the precision required in industrial design, drawings need to offer the possibility of removing lines, which are hidden in a given projection.
To do this, the Hidden Line Removal component provides two algorithms: HLRBRep_Algo and HLRBRep_PolyAlgo. These algorithms remove or indicate lines hidden by surfaces. For a given projection, they calculate a set of lines characteristic of the object being represented.
They are also used in conjunction with extraction utilities, which reconstruct a new, simplified shape from a selection of calculation results. This new shape is made up of edges, which represent the lines of the visualized shape in a plane.
This plane is the projection plane. HLRBRep_Algo takes into account the shape itself. HLRBRep_PolyAlgo works with a polyhedral simplification of the shape.
When you use HLRBRep_Algo, you obtain an exact result, whereas, when you use HLRBRep_PolyAlgo, you reduce computation time but obtain polygonal segments.
Constructors(1)
Static methods(8)
- UpdateMinMax(x: number, y: number, z: number, Min: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], Max: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]): void
Iteratoron the visible or hidden parts of an EdgeStatus.Parameters (5)xyzMinMax
- EnlargeMinMax(tol: number, Min: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], Max: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]): voidParameters (3)
tolMinMax
- InitMinMax(Big: number, Min: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], Max: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]): voidParameters (3)
BigMinMax
- EncodeMinMax(Min: HLRAlgo_EdgesBlock_MinMaxIndices, Max: HLRAlgo_EdgesBlock_MinMaxIndices, MinMax: HLRAlgo_EdgesBlock_MinMaxIndices): voidParameters (3)
MinMaxMinMax
- SizeBox(Min: HLRAlgo_EdgesBlock_MinMaxIndices, Max: HLRAlgo_EdgesBlock_MinMaxIndices): numberParameters (2)
MinMax
- DecodeMinMax(MinMax: HLRAlgo_EdgesBlock_MinMaxIndices, Min: HLRAlgo_EdgesBlock_MinMaxIndices, Max: HLRAlgo_EdgesBlock_MinMaxIndices): voidParameters (3)
MinMaxMinMax
- CopyMinMax(IMin: HLRAlgo_EdgesBlock_MinMaxIndices, IMax: HLRAlgo_EdgesBlock_MinMaxIndices, OMin: HLRAlgo_EdgesBlock_MinMaxIndices, OMax: HLRAlgo_EdgesBlock_MinMaxIndices): voidParameters (4)
IMinIMaxOMinOMax
- AddMinMax(IMin: HLRAlgo_EdgesBlock_MinMaxIndices, IMax: HLRAlgo_EdgesBlock_MinMaxIndices, OMin: HLRAlgo_EdgesBlock_MinMaxIndices, OMax: HLRAlgo_EdgesBlock_MinMaxIndices): voidParameters (4)
IMinIMaxOMinOMax
HLRAlgo_BiPoint
Constructors(7)
- constructor(X1: number, Y1: number, Z1: number, X2: number, Y2: number, Z2: number, XT1: number, YT1: number, ZT1: number, XT2: number, YT2: number, ZT2: number, Index: number, flag: number): HLRAlgo_BiPointParameters (14)
X1Y1Z1X2Y2Z2XT1YT1ZT1XT2YT2ZT2Indexflag
- constructor(X1: number, Y1: number, Z1: number, X2: number, Y2: number, Z2: number, XT1: number, YT1: number, ZT1: number, XT2: number, YT2: number, ZT2: number, Index: number, reg1: boolean, regn: boolean, outl: boolean, intl: boolean): HLRAlgo_BiPointParameters (17)
X1Y1Z1X2Y2Z2XT1YT1ZT1XT2YT2ZT2Indexreg1regnoutlintl
- constructor(X1: number, Y1: number, Z1: number, X2: number, Y2: number, Z2: number, XT1: number, YT1: number, ZT1: number, XT2: number, YT2: number, ZT2: number, Index: number, i1: number, i1p1: number, i1p2: number, flag: number): HLRAlgo_BiPointParameters (17)
X1Y1Z1X2Y2Z2XT1YT1ZT1XT2YT2ZT2Indexi1i1p1i1p2flag
- constructor(X1: number, Y1: number, Z1: number, X2: number, Y2: number, Z2: number, XT1: number, YT1: number, ZT1: number, XT2: number, YT2: number, ZT2: number, Index: number, i1: number, i1p1: number, i1p2: number, reg1: boolean, regn: boolean, outl: boolean, intl: boolean): HLRAlgo_BiPointParameters (20)
X1Y1Z1X2Y2Z2XT1YT1ZT1XT2YT2ZT2Indexi1i1p1i1p2reg1regnoutlintl
- constructor(X1: number, Y1: number, Z1: number, X2: number, Y2: number, Z2: number, XT1: number, YT1: number, ZT1: number, XT2: number, YT2: number, ZT2: number, Index: number, i1: number, i1p1: number, i1p2: number, i2: number, i2p1: number, i2p2: number, flag: number): HLRAlgo_BiPointParameters (20)
X1Y1Z1X2Y2Z2XT1YT1ZT1XT2YT2ZT2Indexi1i1p1i1p2i2i2p1i2p2flag
- constructor(X1: number, Y1: number, Z1: number, X2: number, Y2: number, Z2: number, XT1: number, YT1: number, ZT1: number, XT2: number, YT2: number, ZT2: number, Index: number, i1: number, i1p1: number, i1p2: number, i2: number, i2p1: number, i2p2: number, reg1: boolean, regn: boolean, outl: boolean, intl: boolean): HLRAlgo_BiPointParameters (23)
X1Y1Z1X2Y2Z2XT1YT1ZT1XT2YT2ZT2Indexi1i1p1i1p2i2i2p1i2p2reg1regnoutlintl
Instance methods(12)
- Rg1Line(): boolean
- Rg1Line(B: boolean): voidParameters (1)
B
- RgNLine(): boolean
- RgNLine(B: boolean): voidParameters (1)
B
- OutLine(): boolean
- OutLine(B: boolean): voidParameters (1)
B
- IntLine(): boolean
- IntLine(B: boolean): voidParameters (1)
B
- Hidden(): boolean
- Hidden(B: boolean): voidParameters (1)
B
- Indices(): HLRAlgo_BiPoint_IndicesT
HLRAlgo_BiPoint_PointsT
Constructors(1)
Instance methods(2)
Properties(4)
HLRAlgo_EdgeIterator
Constructors(1)
Iteratoron the visible or hidden parts of an edge.
Instance methods(8)
- InitHidden(status: HLRAlgo_EdgeStatus): voidParameters (1)
status
- MoreHidden(): boolean
- NextHidden(): void
- Hidden(Start: number, TolStart: number, End: number, TolEnd: number): { Start: number; TolStart: number; End: number; TolEnd: number }
Returns the bounds and the tolerances of the current Hidden
Interval.Parameters (4)StartTolStartEndTolEnd
ReturnsA result object with fields:
Start: updated value from the call.TolStart: updated value from the call.End: updated value from the call.TolEnd: updated value from the call.
- InitVisible(status: HLRAlgo_EdgeStatus): voidParameters (1)
status
- MoreVisible(): boolean
- NextVisible(): void
- Visible(Start: number, TolStart: number, End: number, TolEnd: number): { Start: number; TolStart: number; End: number; TolEnd: number }
Returns the bounds and the tolerances of the current Visible
Interval.Parameters (4)StartTolStartEndTolEnd
ReturnsA result object with fields:
Start: updated value from the call.TolStart: updated value from the call.End: updated value from the call.TolEnd: updated value from the call.
HLRAlgo_EdgesBlock
An EdgesBlock is a set of Edges. It is used by the DataStructure to structure the Edges.
An EdgesBlock contains:
- An Array of index of Edges.
- An Array of flagsf (Orientation OutLine Internal Double IsoLine)
Constructors(1)
- constructor(NbEdges: number): HLRAlgo_EdgesBlock
Create a Block of Edges for a wire.
Parameters (1)NbEdges
Static methods(2)
- get_type_name(): string
Instance methods(16)
- NbEdges(): number
- Edge(I: number, EI: number): voidParameters (2)
IEI
- Edge(I: number): numberParameters (1)
I
- Orientation(I: number, Or: TopAbs_Orientation): voidParameters (2)
IOr
- Orientation(I: number): TopAbs_OrientationParameters (1)
I
- OutLine(I: number): booleanParameters (1)
I
- OutLine(I: number, B: boolean): voidParameters (2)
IB
- Internal(I: number): booleanParameters (1)
I
- Internal(I: number, B: boolean): voidParameters (2)
IB
- Double(I: number): booleanParameters (1)
I
- Double(I: number, B: boolean): voidParameters (2)
IB
- IsoLine(I: number): booleanParameters (1)
I
- IsoLine(I: number, B: boolean): voidParameters (2)
IB
- UpdateMinMax(TotMinMax: HLRAlgo_EdgesBlock_MinMaxIndices): voidParameters (1)
TotMinMax
HLRAlgo_EdgesBlock_MinMaxIndices
Constructors(1)
Instance methods(2)
- Minimize(theMinMaxIndices: HLRAlgo_EdgesBlock_MinMaxIndices): HLRAlgo_EdgesBlock_MinMaxIndicesParameters (1)
theMinMaxIndices
- Maximize(theMinMaxIndices: HLRAlgo_EdgesBlock_MinMaxIndices): HLRAlgo_EdgesBlock_MinMaxIndicesParameters (1)
theMinMaxIndices
HLRAlgo_EdgeStatus
This class describes the Hidden Line status of an Edge. It contains:
The Bounds of the Edge and their tolerances
Two flags indicating if the edge is full visible or full hidden TheSequenceof visible Intervals on the Edge.
Constructors(2)
- constructor(Start: number, TolStart: number, End: number, TolEnd: number): HLRAlgo_EdgeStatus
Creates a new EdgeStatus. Default visible. The Edge is bounded by the interval <Start>, <End> with the tolerances <TolStart>, <TolEnd>.
Parameters (4)StartTolStartEndTolEnd
Instance methods(11)
- Initialize(Start: number, TolStart: number, End: number, TolEnd: number): void
Initialize an EdgeStatus. Default visible. The Edge is bounded by the interval <Start>, <End> with the tolerances <TolStart>, <TolEnd>.
Parameters (4)StartTolStartEndTolEnd
- Bounds(theStart: number, theTolStart: number, theEnd: number, theTolEnd: number): { theStart: number; theTolStart: number; theEnd: number; theTolEnd: number }Parameters (4)
theStarttheTolStarttheEndtheTolEnd
- NbVisiblePart(): number
- VisiblePart(Index: number, Start: number, TolStart: number, End: number, TolEnd: number): { Start: number; TolStart: number; End: number; TolEnd: number }Parameters (5)
IndexStartTolStartEndTolEnd
- Hide(Start: number, TolStart: number, End: number, TolEnd: number, OnFace: boolean, OnBoundary: boolean): void
Hides the interval <Start>, <End> with the tolerances <TolStart>, <TolEnd>. This interval is subtracted from the visible parts. If the hidden part is on (or under) the face the flag <OnFace> is True (or False). If the hidden part is on (or inside) the boundary of the face the flag <OnBoundary> is True (or False).
Parameters (6)StartTolStartEndTolEndOnFaceOnBoundary
- HideAll(): void
Hide the whole Edge.
- ShowAll(): void
Show the whole Edge.
- AllHidden(): boolean
- AllHidden(B: boolean): voidParameters (1)
B
- AllVisible(): boolean
- AllVisible(B: boolean): voidParameters (1)
B
HLRAlgo_Interference
Constructors(1)
Instance methods(8)
- Orientation(O: TopAbs_Orientation): voidParameters (1)
O
- Transition(Tr: TopAbs_Orientation): voidParameters (1)
Tr
- BoundaryTransition(BTr: TopAbs_Orientation): voidParameters (1)
BTr
HLRAlgo_Intersection
Describes an intersection on an edge to hide. Contains a parameter and a state (ON = on the face, OUT = above the face, IN = under the Face).
Constructors(2)
- constructor(Ori: TopAbs_Orientation, Lev: number, SegInd: number, Ind: number, P: number, Tol: number, S: TopAbs_State): HLRAlgo_IntersectionParameters (7)
OriLevSegIndIndPTolS
Instance methods(14)
- Orientation(Ori: TopAbs_Orientation): voidParameters (1)
Ori
- Level(Lev: number): voidParameters (1)
Lev
- Level(): number
- SegIndex(SegInd: number): voidParameters (1)
SegInd
- SegIndex(): number
- Index(Ind: number): voidParameters (1)
Ind
- Index(): number
- Parameter(P: number): voidParameters (1)
P
- Parameter(): number
- Tolerance(T: number): voidParameters (1)
T
- Tolerance(): number
- State(S: TopAbs_State): voidParameters (1)
S
HLRAlgo_PolyAlgo
to remove Hidden lines on Triangulations.
Constructors(1)
Static methods(2)
- get_type_name(): string
Instance methods(14)
- Init(theNbShells: number): voidParameters (1)
theNbShells
- Clear(): void
- Update(): void
Prepare all the data to process the algo.
- InitHide(): void
- MoreHide(): boolean
- NextHide(): void
- Hide(status: HLRAlgo_EdgeStatus, Index: number, reg1: boolean, regn: boolean, outl: boolean, intl: boolean): { returnValue: HLRAlgo_BiPoint_PointsT; Index: number; reg1: boolean; regn: boolean; outl: boolean; intl: boolean; [Symbol.dispose](): void }
process hiding between <Pt1> and <Pt2>.
Parameters (6)status—Mutated in place; read the updated value from this argument after the call.Indexreg1regnoutlintl
ReturnsA result object with fields:
returnValue: the C++ return valueIndex: updated value from the call.reg1: updated value from the call.regn: updated value from the call.outl: updated value from the call.intl: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- InitShow(): void
- MoreShow(): boolean
- NextShow(): void
- Show(Index: number, reg1: boolean, regn: boolean, outl: boolean, intl: boolean): { returnValue: HLRAlgo_BiPoint_PointsT; Index: number; reg1: boolean; regn: boolean; outl: boolean; intl: boolean; [Symbol.dispose](): void }
process hiding between <Pt1> and <Pt2>.
Parameters (5)Indexreg1regnoutlintl
ReturnsA result object with fields:
returnValue: the C++ return valueIndex: updated value from the call.reg1: updated value from the call.regn: updated value from the call.outl: updated value from the call.intl: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
HLRAlgo_PolyData
Data structure of a set of Triangles.
Constructors(1)
Static methods(2)
- get_type_name(): string
Instance methods(13)
- HNodes(HNodes: NCollection_HArray1_gp_XYZ): voidParameters (1)
HNodes
- HTData(HTData: NCollection_HArray1_HLRAlgo_TriangleData): voidParameters (1)
HTData
- HPHDat(HPHDat: NCollection_HArray1_HLRAlgo_PolyHidingData): voidParameters (1)
HPHDat
- FaceIndex(I: number): voidParameters (1)
I
- FaceIndex(): number
- UpdateGlobalMinMax(theBox: Bnd_Box): voidParameters (1)
theBox
- Hiding(): boolean
- HideByPolyData(thePoints: HLRAlgo_BiPoint_PointsT, theTriangle: HLRAlgo_PolyData_Triangle, theIndices: HLRAlgo_BiPoint_IndicesT, HidingShell: boolean, status: HLRAlgo_EdgeStatus): void
process hiding between <Pt1> and <Pt2>.
Parameters (5)thePointstheTriangle—Mutated in place; read the updated value from this argument after the call.theIndices—Mutated in place; read the updated value from this argument after the call.HidingShellstatus—Mutated in place; read the updated value from this argument after the call.
- Indices(): HLRAlgo_PolyData_FaceIndices
HLRAlgo_PolyHidingData
Data structure of a set of Hiding Triangles.
Constructors(1)
Instance methods(3)
HLRAlgo_PolyInternalNode
to Update OutLines.
Constructors(1)
Static methods(2)
- get_type_name(): string
Instance methods(3)
HLRAlgo_PolyInternalSegment
to Update OutLines.
Constructors(1)
Properties(6)
HLRAlgo_PolyMask
Properties(13)
HLRAlgo_PolyShellData
All the PolyData of a Shell.
Constructors(1)
- constructor(nbFace: number): HLRAlgo_PolyShellDataParameters (1)
nbFace
Static methods(2)
- get_type_name(): string
Instance methods(8)
- UpdateGlobalMinMax(theBox: Bnd_Box): voidParameters (1)
theBox
- UpdateHiding(nbHiding: number): voidParameters (1)
nbHiding
- Hiding(): boolean
- Indices(): HLRAlgo_PolyShellData_ShellIndices
HLRAlgo_Projector
Implements a projector object. To transform and project Points and Planes. This object is designed to be used in the removal of hidden lines and is returned by the Prs3d_Projector::Projector function. You define the projection of the selected shape by calling one of the following functions:
HLRBRep_Algo::Projector, orHLRBRep_PolyAlgo::ProjectorThe choice depends on the algorithm, which you are using. The parameters of the view are defined at the time of construction of a Prs3d_Projector object.
Constructors(5)
Creates an axonometric projector. <CS> is the viewing coordinate system.
Parameters (1)CS
- constructor(CS: gp_Ax2, Focus: number): HLRAlgo_Projector
Creates a perspective projector. <CS> is the viewing coordinate system.
Parameters (2)CSFocus
- constructor(T: gp_Trsf, Persp: boolean, Focus: number): HLRAlgo_Projector
build a Projector with automatic minmax directions.
Parameters (3)TPerspFocus
- constructor(T: gp_Trsf, Persp: boolean, Focus: number, v1: gp_Vec2d, v2: gp_Vec2d, v3: gp_Vec2d): HLRAlgo_Projector
build a Projector with given minmax directions.
Parameters (6)TPerspFocusv1v2v3
Instance methods(14)
- Parameters (3)
TPerspFocus
- Directions(D1: gp_Vec2d, D2: gp_Vec2d, D3: gp_Vec2d): voidParameters (3)
D1D2D3
- Scaled(On?: boolean): void
to compute with the given scale and translation.
Parameters (1)On
- Perspective(): boolean
Returns True if there is a perspective transformation.
Returns the active transformation.
Returns the active inverted transformation.
Returns the original transformation.
- Focus(): number
Returns the focal length.
- Parameters (1)
D
- Parameters (1)
Pnt
Transform and apply perspective if needed.
Parameters (2)PPout—Mutated in place; read the updated value from this argument after the call.
Transform and apply perspective if needed.
Parameters (4)PXYZ
ReturnsA result object with fields:
X: updated value from the call.Y: updated value from the call.Z: updated value from the call.
Transform and apply perspective if needed.
Parameters (4)PD1Pout—Mutated in place; read the updated value from this argument after the call.D1out—Mutated in place; read the updated value from this argument after the call.
return a line going through the eye towards the 2d point <X,Y>.
Parameters (2)XY
HLRAlgo_TriangleData
Data structure of a triangle.
Constructors(1)
Properties(4)
HLRAlgo_WiresBlock
A WiresBlock is a set of Blocks. It is used by the DataStructure to structure the Edges.
A WiresBlock contains:
- An Array of Blocks.
Constructors(1)
- constructor(NbWires: number): HLRAlgo_WiresBlock
Create a Block of Blocks.
Parameters (1)NbWires
Static methods(2)
- get_type_name(): string
Instance methods(6)
- NbWires(): number
- Set(I: number, W: HLRAlgo_EdgesBlock): voidParameters (2)
IW
- Wire(I: number): HLRAlgo_EdgesBlockParameters (1)
I
- UpdateMinMax(theMinMaxes: HLRAlgo_EdgesBlock_MinMaxIndices): voidParameters (1)
theMinMaxes