OpenCascade.js
API ReferenceModelingAlgorithmsTKBO

BOPDS

OCCT package BOPDS: BOPDS_CommonBlock, BOPDS_CoupleOfPaveBlocks, BOPDS_Curve, BOPDS_DS, and 20 more bound classes.

BOPDS_CommonBlock

The class BOPDS_CommonBlock is to store the information about pave blocks that have geometrical coincidence (in terms of a tolerance) with: a) other pave block(s); b) face(s). First pave block in the common block (real pave block) is always a pave block with the minimal index of the original edge.

Constructors(2)

Static methods(2)

Instance methods(20)

  • Modifier Adds the pave block <aPB> to the list of pave blocks of the common block.

    Parameters (1)
    • aPB
  • Modifier Sets the list of pave blocks for the common block.

    Parameters (1)
    • aLPB
  • AddFace(aF: number): void

    Modifier Adds the index of the face <aF> to the list of indices of faces of the common block.

    Parameters (1)
    • aF
  • Modifier Sets the list of indices of faces <aLF> of the common block.

    Parameters (1)
    • aLF
  • Modifier Appends the list of indices of faces <aLF> to the list of indices of faces of the common block (the input list is emptied).

    Parameters (1)
    • aLF
      Mutated in place; read the updated value from this argument after the call.
  • Selector Returns the list of pave blocks of the common block.

  • Selector Returns the list of indices of faces of the common block.

  • Selector Returns the first pave block of the common block.

  • PaveBlockOnEdge(theIndex: number): BOPDS_PaveBlock

    Selector Returns the pave block that belongs to the edge with index <theIx>.

    Parameters (1)
    • theIndex
  • IsPaveBlockOnFace(theIndex: number): boolean

    Query Returns true if the common block contains a pave block that belongs to the face with index <theIx>.

    Parameters (1)
    • theIndex
  • IsPaveBlockOnEdge(theIndex: number): boolean

    Query Returns true if the common block contains a pave block that belongs to the edge with index <theIx>.

    Parameters (1)
    • theIndex
  • Contains(thePB: BOPDS_PaveBlock): boolean

    Query Returns true if the common block contains a pave block that is equal to <thePB>.

    Parameters (1)
    • thePB
  • Contains(theF: number): boolean

    Query Returns true if the common block contains the face with index equal to <theF>.

    Parameters (1)
    • theF
  • SetEdge(theEdge: number): void

    Modifier Assign the index <theEdge> as the edge index to all pave blocks of the common block.

    Parameters (1)
    • theEdge
  • Edge(): number

    Selector Returns the index of the edge of all pave blocks of the common block.

  • Dump(): void
  • Moves the pave blocks in the list to make the given pave block to be the first. It will be representative for the whole group.

    Parameters (1)
    • thePB
  • SetTolerance(theTol: number): void

    Sets the tolerance for the common block.

    Parameters (1)
    • theTol
  • Tolerance(): number

    Return the tolerance of common block.

BOPDS_CoupleOfPaveBlocks

Stores information about two pave blocks and satellite data.

Constructors(2)

Instance methods(12)

  • SetIndex(theIndex: number): void

    Sets the index.

    Parameters (1)
    • theIndex
      the index
  • Index(): number

    Returns the index.

    Returns

    the index

  • SetIndexInterf(theIndex: number): void

    Sets the index of an interference.

    Parameters (1)
    • theIndex
      index of an interference
  • IndexInterf(): number

    Returns the index of an interference.

    Returns

    index of an interference

  • Sets both pave blocks.

    Parameters (2)
    • thePB1
      first pave block
    • thePB2
      second pave block
  • PaveBlocks(): { thePB1: BOPDS_PaveBlock; thePB2: BOPDS_PaveBlock; [Symbol.dispose](): void }
    Deprecated
    Returns

    A result object with fields:

    • thePB1: owned by the returned envelope.
    • thePB2: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • Sets the first pave block.

    Parameters (1)
    • thePB
      the first pave block
  • Returns the first pave block.

    Returns

    handle to the first pave block

  • Sets the second pave block.

    Parameters (1)
    • thePB
      the second pave block
  • Returns the second pave block.

    Returns

    handle to the second pave block

  • SetTolerance(theTol: number): void

    Sets the tolerance associated with this couple.

    Parameters (1)
    • theTol
      the tolerance value
  • Tolerance(): number

    Returns the tolerance associated with this couple.

    Returns

    the tolerance value

BOPDS_Curve

The class BOPDS_Curve is to store the information about intersection curve.

Constructors(2)

Instance methods(16)

BOPDS_DS

The class BOPDS_DS provides the control of data structure for the algorithms in the Boolean Component such as General Fuse, Boolean operations, Section, Maker Volume, Splitter and Cells Builder.
The data structure has the following contents:

  1. the arguments of an operation [myArguments];
  2. the information about arguments/new shapes and their sub-shapes (type of the shape, bounding box, etc) [myLines];
  3. each argument shape(and its subshapes) has/have own range of indices (rank);
  4. pave blocks on source edges [myPaveBlocksPool];
  5. the state of source faces [myFaceInfoPool];
  6. the collection of same domain shapes [myShapesSD];
  7. the collection of interferences [myInterfTB, myInterfVV,..myInterfFF]

Constructors(2)

Static methods(1)

  • NbInterfTypes(): number

    Returns the number of types of the interferences.

Instance methods(75)

  • Clear(): void

    Clears the contents.

  • Selector.

  • Modifier Sets the arguments [theLS] of an operation.

    Parameters (1)
    • theLS
  • Selector Returns the arguments of an operation.

  • Init(theFuzz?: number): void

    Initializes the data structure for the arguments.

    Parameters (1)
    • theFuzz
  • NbShapes(): number

    Selector Returns the total number of shapes stored.

  • NbSourceShapes(): number

    Selector Returns the total number of source shapes stored.

  • NbRanges(): number

    Selector Returns the number of index ranges.

  • Range(theIndex: number): BOPDS_IndexRange

    Selector Returns the index range "i".

    Parameters (1)
    • theIndex
  • Rank(theIndex: number): number

    Selector Returns the rank of the shape of index "i".

    Parameters (1)
    • theIndex
  • IsNewShape(theIndex: number): boolean

    Returns true if the shape of index "i" is not the source shape/sub-shape.

    Parameters (1)
    • theIndex
  • Append(theSI: BOPDS_ShapeInfo): number

    Modifier Appends the information about the shape [theSI] to the data structure Returns the index of theSI in the data structure.

    Parameters (1)
    • theSI
  • Append(theS: TopoDS_Shape): number

    Modifier Appends the default information about the shape [theS] to the data structure Returns the index of theS in the data structure.

    Parameters (1)
    • theS
  • ShapeInfo(theIndex: number): BOPDS_ShapeInfo

    Selector Returns the information about the shape with index theIndex.

    Parameters (1)
    • theIndex
  • ChangeShapeInfo(theIndex: number): BOPDS_ShapeInfo

    Selector/Modifier Returns the information about the shape with index theIndex.

    Parameters (1)
    • theIndex
  • Shape(theIndex: number): TopoDS_Shape

    Selector Returns the shape with index theIndex.

    Parameters (1)
    • theIndex
  • Index(theS: TopoDS_Shape): number

    Selector Returns the index of the shape theS.

    Parameters (1)
    • theS
  • Selector Returns the information about pave blocks on source edges.

  • Selector/Modifier Returns the information about pave blocks on source edges.

  • HasPaveBlocks(theIndex: number): boolean

    Query Returns true if the shape with index theIndex has the information about pave blocks.

    Parameters (1)
    • theIndex
  • Selector Returns the pave blocks for the shape with index theIndex.

    Parameters (1)
    • theIndex
  • Selector/Modifier Returns the pave blocks for the shape with index theIndex.

    Parameters (1)
    • theIndex
  • Update the pave blocks for the all shapes in data structure.

  • Update the pave block thePB.

    Parameters (1)
    • thePB
  • UpdateCommonBlock(theCB: BOPDS_CommonBlock, theFuzz: number): void

    Update the common block theCB.

    Parameters (2)
    • theCB
    • theFuzz
  • Query Returns true if the pave block is common block.

    Parameters (1)
    • thePB
  • Selector Returns the common block.

    Parameters (1)
    • thePB
  • Modifier Sets the common block <theCB>.

    Parameters (2)
    • thePB
    • theCB
  • Selector Returns the real first pave block.

    Parameters (1)
    • thePB
  • Query Returns true if common block contains more then one pave block.

    Parameters (1)
    • thePB
  • Selector Returns the information about state of faces.

  • HasFaceInfo(theIndex: number): boolean

    Query Returns true if the shape with index theIndex has the information about state of face.

    Parameters (1)
    • theIndex
  • FaceInfo(theIndex: number): BOPDS_FaceInfo

    Selector Returns the state of face with index theIndex.

    Parameters (1)
    • theIndex
  • ChangeFaceInfo(theIndex: number): BOPDS_FaceInfo

    Selector/Modifier Returns the state of face with index theIndex.

    Parameters (1)
    • theIndex
  • UpdateFaceInfoIn(theIndex: number): void

    Update the state In of face with index theIndex.

    Parameters (1)
    • theIndex
  • Update the state IN for all faces in the given map.

    Parameters (1)
    • theFaces
  • UpdateFaceInfoOn(theIndex: number): void

    Update the state On of face with index theIndex.

    Parameters (1)
    • theIndex
  • Update the state ON for all faces in the given map.

    Parameters (1)
    • theFaces
  • Selector Returns the state On [theMPB,theMVP] of face with index theIndex.

    Parameters (3)
    • theIndex
    • theMPB
      Mutated in place; read the updated value from this argument after the call.
    • theMVP
      Mutated in place; read the updated value from this argument after the call.
  • Selector Returns the state In [theMPB,theMVP] of face with index theIndex.

    Parameters (3)
    • theIndex
    • theMPB
      Mutated in place; read the updated value from this argument after the call.
    • theMVP
      Mutated in place; read the updated value from this argument after the call.
  • AloneVertices(theFaceIndex: number, theVertexList: NCollection_List_int): void

    Selector Returns the indices of alone vertices for the face with index theFaceIndex.

    Parameters (2)
    • theFaceIndex
    • theVertexList
      Mutated in place; read the updated value from this argument after the call.
  • Refine the state On for the all faces having state information.
    ++

  • Removes any pave block from list of having IN state if it has also the state ON.

  • SubShapesOnIn(theFaceIndex1: number, theFaceIndex2: number, theMVOnIn: NCollection_Map_int, theMVCommon: NCollection_Map_int, thePBOnIn: NCollection_IndexedMap_handle_BOPDS_PaveBlock, theCommonPaveBlocks: NCollection_Map_handle_BOPDS_PaveBlock): void

    Returns information about ON/IN sub-shapes of the given faces.

    Parameters (6)
    • theFaceIndex1
      the index of the first face
    • theFaceIndex2
      the index of the second face
    • theMVOnIn
      the indices of ON/IN vertices from both faces Mutated in place; read the updated value from this argument after the call.
    • theMVCommon
      the indices of common vertices for both faces Mutated in place; read the updated value from this argument after the call.
    • thePBOnIn
      all On/In pave blocks from both faces Mutated in place; read the updated value from this argument after the call.
    • theCommonPaveBlocks
      the common pave blocks (that are shared by both faces). Mutated in place; read the updated value from this argument after the call.
  • SharedEdges(theFaceIndex1: number, theFaceIndex2: number, theEdgeList: NCollection_List_int, theAllocator: NCollection_BaseAllocator): void

    Returns the indices of edges that are shared for the faces with indices theFaceIndex1 and theFaceIndex2.

    Parameters (4)
    • theFaceIndex1
    • theFaceIndex2
    • theEdgeList
      Mutated in place; read the updated value from this argument after the call.
    • theAllocator
  • Selector Returns the collection same domain shapes.

  • AddShapeSD(theIndex: number, theIndexSD: number): void

    Modifier Adds the information about same domain shapes with indices theIndex, theIndexSD.

    Parameters (2)
    • theIndex
    • theIndexSD
  • HasShapeSD(theIndex: number, theIndexSD: number): { returnValue: boolean; theIndexSD: number }

    Query Returns true if the shape with index theIndex has the same domain shape. In this case theIndexSD will contain the index of same domain shape found.
    interferences

    Parameters (2)
    • theIndex
    • theIndexSD
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • theIndexSD: updated value from the call.
  • GetSameDomainIndex(theIndex: number): number

    Returns the index of same domain shape for the shape with index theIndex. If there is no same domain shape, returns theIndex itself.

    Parameters (1)
    • theIndex
  • Selector/Modifier Returns the collection of interferences Vertex/Vertex.

  • Selector/Modifier Returns the collection of interferences Vertex/Edge.

  • Selector/Modifier Returns the collection of interferences Vertex/Face.

  • Selector/Modifier Returns the collection of interferences Edge/Edge.

  • Selector/Modifier Returns the collection of interferences Edge/Face.

  • Selector/Modifier Returns the collection of interferences Face/Face.

  • Selector/Modifier Returns the collection of interferences Vertex/Solid.

  • Selector/Modifier Returns the collection of interferences Edge/Solid.

  • Selector/Modifier Returns the collection of interferences Face/Solid.

  • Selector/Modifier Returns the collection of interferences Solid/Solid.

  • AddInterf(theI1: number, theI2: number): boolean

    Modifier Adds the information about an interference between shapes with indices theI1, theI2 to the summary table of interferences.

    Parameters (2)
    • theI1
    • theI2
  • HasInterf(theI: number): boolean

    Query Returns true if the shape with index theI is interferred.

    Parameters (1)
    • theI
  • HasInterf(theI1: number, theI2: number): boolean

    Query Returns true if the shapes with indices theI1, theI2 are interferred.

    Parameters (2)
    • theI1
    • theI2
  • HasInterfShapeSubShapes(theIndex1: number, theIndex2: number, theAnyInterference?: boolean): boolean

    Query Returns true if the shape with index theIndex1 is interfered with any sub-shape of the shape with index theIndex2 (theAnyInterference=true) all sub-shapes of the shape with index theIndex2 (theAnyInterference=false).

    Parameters (3)
    • theIndex1
    • theIndex2
    • theAnyInterference
  • HasInterfSubShapes(theIndex1: number, theIndex2: number): boolean

    Query Returns true if the shapes with indices theIndex1, theIndex2 have interferred sub-shapes.

    Parameters (2)
    • theIndex1
    • theIndex2
  • Selector Returns the table of interferences.
    debug

  • Dump(): void
  • IsSubShape(theCandidate: number, theParent: number): boolean

    Returns true if the shape with index theCandidate is a sub-shape of the shape with index theParent.

    Parameters (2)
    • theCandidate
    • theParent
  • Paves(theIndex: number, theLP: NCollection_List_BOPDS_Pave): void

    Fills theLP with sorted paves of the shape with index theIndex.

    Parameters (2)
    • theIndex
    • theLP
      Mutated in place; read the updated value from this argument after the call.
  • Update the pave blocks for all shapes in data structure.

  • Update the pave block for all shapes in data structure.

    Parameters (1)
    • thePB
  • Update the pave block of the common block for all shapes in data structure.

    Parameters (1)
    • theCB
  • InitPaveBlocksForVertex(theNV: number): void
    Parameters (1)
    • theNV
  • Clears information about PaveBlocks for the untouched edges.

  • Checks if the existing shrunk data of the pave block is still valid. The shrunk data may become invalid if e.g. the vertices of the pave block have been replaced with the new one with bigger tolerances, or the tolerances of the existing vertices have been increased.

    Parameters (1)
    • thePB
  • BuildBndBoxSolid(theIndex: number, theBox: Bnd_Box, theCheckInverted: boolean): void

    Computes bounding box <theBox> for the solid with DS-index <theIndex>. The flag <theCheckInverted> enables/disables the check of the solid for inverted status. By default the solids will be checked.

    Parameters (3)
    • theIndex
    • theBox
      Mutated in place; read the updated value from this argument after the call.
    • theCheckInverted

BOPDS_FaceInfo

The class BOPDS_FaceInfo is to store handy information about state of face.

Constructors(2)

Instance methods(15)

BOPDS_IndexRange

The class BOPDS_IndexRange is to store the information about range of two indices.

Constructors(2)

Instance methods(8)

  • SetFirst(theI1: number): void

    Modifier Sets the first index <theI1> of the range.

    Parameters (1)
    • theI1
  • SetLast(theI2: number): void

    Modifier Sets the second index <theI2> of the range.

    Parameters (1)
    • theI2
  • First(): number

    Selector Returns the first index of the range.

  • Last(): number

    Selector Returns the second index of the range.

  • SetIndices(theI1: number, theI2: number): void

    Modifier Sets the first index of the range <theI1> Sets the second index of the range <theI2>.

    Parameters (2)
    • theI1
    • theI2
  • Indices(theI1: number, theI2: number): { theI1: number; theI2: number }

    Selector Returns the first index of the range <theI1> Returns the second index of the range <theI2>.

    Parameters (2)
    • theI1
    • theI2
    Returns

    A result object with fields:

    • theI1: updated value from the call.
    • theI2: updated value from the call.
  • Contains(theIndex: number): boolean

    Query Returns true if the range contains <theIndex>.

    Parameters (1)
    • theIndex
  • Dump(): void

BOPDS_Interf

The class BOPDS_Interf stores the information about the interference between two shapes. The class BOPDS_Interf is root class

Instance methods(13)

  • SetIndices(theIndex1: number, theIndex2: number): void

    Sets the indices of interferred shapes

    Parameters (2)
    • theIndex1
      index of the first shape
    • theIndex2
      index of the second shape
  • Indices(theIndex1: number, theIndex2: number): { theIndex1: number; theIndex2: number }

    Returns the indices of interferred shapes

    Parameters (2)
    • theIndex1
      index of the first shape
    • theIndex2
      index of the second shape
    Returns

    A result object with fields:

    • theIndex1: index of the first shape
    • theIndex2: index of the second shape
  • SetIndex1(theIndex: number): void

    Sets the index of the first interferred shape

    Parameters (1)
    • theIndex
      index of the first shape
  • SetIndex2(theIndex: number): void

    Sets the index of the second interferred shape

    Parameters (1)
    • theIndex
      index of the second shape
  • Index1(): number

    Returns the index of the first interferred shape

    Returns

    index of the first shape

  • Index2(): number

    Returns the index of the second interferred shape

    Returns

    index of the second shape

  • OppositeIndex(theI: number): number

    Returns the index of that are opposite to the given index

    Parameters (1)
    • theI
      the index
    Returns

    index of opposite shape

  • Contains(theIndex: number): boolean

    Returns true if the interference contains given index

    Parameters (1)
    • theIndex
      the index
    Returns

    true if the interference contains given index

  • SetIndexNew(theIndex: number): void

    Sets the index of new shape

    Parameters (1)
    • theIndex
      the index
  • IndexNew(): number

    Returns the index of new shape

    Returns

    theIndex the index of new shape

  • HasIndexNew(theIndex: number): { returnValue: boolean; theIndex: number }

    Returns true if the interference has index of new shape that is equal to the given index

    Parameters (1)
    • theIndex
      the index
    Returns

    A result object with fields:

    • returnValue: true if the interference has index of new shape that is equal to the given index
    • theIndex: the index
  • HasIndexNew(): boolean

    Returns true if the interference has index of new shape the index

    Returns

    true if the interference has index of new shape

  • GetIndexNew(): number | null | undefined

    Returns the index of new shape. If the index is not set, returns std::nullopt.

BOPDS_InterfEE

The class BOPDS_InterfEE stores the information about the interference of the type edge/edge.

Constructors(2)

Instance methods(2)

BOPDS_InterfEF

The class BOPDS_InterfEF stores the information about the interference of the type edge/face.The class BOPDS_InterfFF stores the information about the interference of the type face/face.

Constructors(2)

Instance methods(2)

BOPDS_InterfFF

Constructors(1)

Instance methods(7)

BOPDS_InterfVE

The class BOPDS_InterfVE stores the information about the interference of the type vertex/edge.

Constructors(2)

Instance methods(2)

  • SetParameter(theT: number): void

    Modifier Sets the value of parameter of the point of the vertex on the curve of the edge

    Parameters (1)
    • theT
      value of parameter
  • Parameter(): number

    Selector Returrns the value of parameter of the point of the vertex on the curve of the edge

    Returns

    value of parameter

BOPDS_InterfVF

The class BOPDS_InterfVF stores the information about the interference of the type vertex/face

Constructors(2)

Instance methods(2)

  • SetUV(theU: number, theV: number): void

    Modifier Sets the value of parameters of the point of the vertex on the surface of of the face

    Parameters (2)
    • theU
      value of U parameter
    • theV
      value of U parameter
  • UV(theU: number, theV: number): { theU: number; theV: number }

    Selector Returns the value of parameters of the point of the vertex on the surface of of the face

    Parameters (2)
    • theU
      value of U parameter
    • theV
      value of U parameter
    Returns

    A result object with fields:

    • theU: value of U parameter
    • theV: value of U parameter

BOPDS_Pair

The class is to provide the pair of indices of interfering shapes.

Constructors(2)

Instance methods(3)

  • SetIndices(theIndex1: number, theIndex2: number): void

    Sets the indices.

    Parameters (2)
    • theIndex1
    • theIndex2
  • Indices(theIndex1: number, theIndex2: number): { theIndex1: number; theIndex2: number }

    Gets the indices.

    Parameters (2)
    • theIndex1
    • theIndex2
    Returns

    A result object with fields:

    • theIndex1: updated value from the call.
    • theIndex2: updated value from the call.
  • IsEqual(theOther: BOPDS_Pair): boolean

    Returns true if the Pair is equal to <the theOther>.

    Parameters (1)
    • theOther

BOPDS_Pave

The class BOPDS_Pave is to store information about vertex on an edge.

Constructors(2)

Instance methods(8)

  • SetIndex(theIndex: number): void

    Modifier Sets the index of vertex <theIndex>.

    Parameters (1)
    • theIndex
  • Index(): number

    Selector Returns the index of vertex.

  • SetParameter(theParameter: number): void

    Modifier Sets the parameter of vertex <theParameter>.

    Parameters (1)
    • theParameter
  • Parameter(): number

    Selector Returns the parameter of vertex.

  • Contents(theIndex: number, theParameter: number): { theIndex: number; theParameter: number }

    Selector Returns the index of vertex <theIndex> Returns the parameter of vertex <theParameter>.

    Parameters (2)
    • theIndex
    • theParameter
    Returns

    A result object with fields:

    • theIndex: updated value from the call.
    • theParameter: updated value from the call.
  • IsLess(theOther: BOPDS_Pave): boolean

    Query Returns true if the parameter of this is less than the parameter of <theOther>.

    Parameters (1)
    • theOther
  • IsEqual(theOther: BOPDS_Pave): boolean

    Query Returns true if the parameter of this is equal to the parameter of <theOther>.

    Parameters (1)
    • theOther
  • Dump(): void

BOPDS_PaveBlock

The class BOPDS_PaveBlock is to store the information about pave block on an edge. Two adjacent paves on edge make up pave block.

Constructors(2)

Static methods(2)

Instance methods(28)

  • SetPave1(thePave: BOPDS_Pave): void

    Modifier Sets the first pave <thePave>.

    Parameters (1)
    • thePave
  • Selector Returns the first pave.

  • SetPave2(thePave: BOPDS_Pave): void

    Modifier Sets the second pave <thePave>.

    Parameters (1)
    • thePave
  • Selector Returns the second pave.

  • SetEdge(theEdge: number): void

    Modifier Sets the index of edge of pave block <theEdge>.

    Parameters (1)
    • theEdge
  • Edge(): number

    Selector Returns the index of edge of pave block.

  • HasEdge(): boolean

    Query Returns true if the pave block has edge.

  • HasEdge(theEdge: number): { returnValue: boolean; theEdge: number }

    Query Returns true if the pave block has edge Returns the index of edge <theEdge>.

    Parameters (1)
    • theEdge
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • theEdge: updated value from the call.
  • SetOriginalEdge(theEdge: number): void

    Modifier Sets the index of original edge of the pave block <theEdge>.

    Parameters (1)
    • theEdge
  • OriginalEdge(): number

    Selector Returns the index of original edge of pave block.

  • IsSplitEdge(): boolean

    Query Returns true if the edge is equal to the original edge of the pave block.

  • Range(theT1: number, theT2: number): { theT1: number; theT2: number }

    Selector Returns the parametric range <theT1,theT2> of the pave block.

    Parameters (2)
    • theT1
    • theT2
    Returns

    A result object with fields:

    • theT1: updated value from the call.
    • theT2: updated value from the call.
  • HasSameBounds(theOther: BOPDS_PaveBlock): boolean

    Query Returns true if the pave block has pave indices that equal to the pave indices of the pave block <theOther>.

    Parameters (1)
    • theOther
  • Indices(theIndex1: number, theIndex2: number): { theIndex1: number; theIndex2: number }

    Selector Returns the pave indices <theIndex1,theIndex2> of the pave block.

    Parameters (2)
    • theIndex1
    • theIndex2
    Returns

    A result object with fields:

    • theIndex1: updated value from the call.
    • theIndex2: updated value from the call.
  • IsToUpdate(): boolean

    Query Returns true if the pave block contains extra paves.

  • AppendExtPave(thePave: BOPDS_Pave): void

    Modifier Appends extra paves <thePave>.

    Parameters (1)
    • thePave
  • AppendExtPave1(thePave: BOPDS_Pave): void

    Modifier Appends extra pave <thePave>.

    Parameters (1)
    • thePave
  • RemoveExtPave(theVertNum: number): void

    Modifier Removes a pave with the given vertex number from extra paves.

    Parameters (1)
    • theVertNum
  • Selector Returns the extra paves.

  • Selector / Modifier Returns the extra paves.

  • Update(theLPB: NCollection_List_handle_BOPDS_PaveBlock, theFlag: boolean): void

    Modifier Updates the pave block. The extra paves are used to create new pave blocks <theLPB>. <theFlag> - if true, the first and second pave are used to produce new pave blocks.

    Parameters (2)
    • theLPB
      Mutated in place; read the updated value from this argument after the call.
    • theFlag
  • ContainsParameter(thePrm: number, theTol: number, theInd: number): { returnValue: boolean; theInd: number }

    Query Returns true if the extra paves contain the pave with given value of the parameter <thePrm> <theTol> - the value of the tolerance to compare <theInd> - index of the found pave.

    Parameters (3)
    • thePrm
    • theTol
    • theInd
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • theInd: updated value from the call.
  • SetShrunkData(theTS1: number, theTS2: number, theBox: Bnd_Box, theIsSplittable: boolean): void

    Modifier Sets the shrunk data for the pave block <theTS1>, <theTS2> - shrunk range <theBox> - the bounding box <theIsSplittable> - defines whether the edge can be split.

    Parameters (4)
    • theTS1
    • theTS2
    • theBox
    • theIsSplittable
  • ShrunkData(theTS1: number, theTS2: number, theBox: Bnd_Box, theIsSplittable: boolean): { theTS1: number; theTS2: number; theIsSplittable: boolean }

    Selector Returns the shrunk data for the pave block <theTS1>, <theTS2> - shrunk range <theBox> - the bounding box <theIsSplittable> - defines whether the edge can be split.

    Parameters (4)
    • theTS1
    • theTS2
    • theBox
      Mutated in place; read the updated value from this argument after the call.
    • theIsSplittable
    Returns

    A result object with fields:

    • theTS1: updated value from the call.
    • theTS2: updated value from the call.
    • theIsSplittable: updated value from the call.
  • HasShrunkData(): boolean

    Query Returns true if the pave block contains the shrunk data.

  • Dump(): void
  • IsSplittable(): boolean

    Query Returns FALSE if the pave block has a too short shrunk range and cannot be split, otherwise returns TRUE.

BOPDS_Point

The class BOPDS_Point is to store the information about intersection point.

Constructors(1)

Instance methods(8)

  • SetPnt(thePnt: gp_Pnt): void

    Modifier Sets 3D point <thePnt>.

    Parameters (1)
    • thePnt
  • Selector Returns 3D point.

  • SetPnt2D1(thePnt: gp_Pnt2d): void

    Modifier Sets 2D point on the first face <thePnt>.

    Parameters (1)
    • thePnt
  • Selector Returns 2D point on the first face <thePnt>.

  • SetPnt2D2(thePnt: gp_Pnt2d): void

    Modifier Sets 2D point on the second face <thePnt>.

    Parameters (1)
    • thePnt
  • Selector Returns 2D point on the second face <thePnt>.

  • SetIndex(theIndex: number): void

    Modifier Sets the index of the vertex <theIndex>.

    Parameters (1)
    • theIndex
  • Index(): number

    Selector Returns index of the vertex.

BOPDS_ShapeInfo

The class BOPDS_ShapeInfo is to store handy information about shape.

Constructors(2)

Instance methods(20)

  • SetShape(theS: TopoDS_Shape): void

    Modifier Sets the shape <theS>.

    Parameters (1)
    • theS
  • Selector Returns the shape.

  • Modifier Sets the type of shape theType.

    Parameters (1)
    • theType
  • Selector Returns the type of shape.

  • SetBox(theBox: Bnd_Box): void

    Modifier Sets the boundung box of the shape theBox.

    Parameters (1)
    • theBox
  • Selector Returns the boundung box of the shape.

  • Selector/Modifier Returns the boundung box of the shape.

  • Selector Returns the list of indices of sub-shapes.

  • Selector/ Modifier Returns the list of indices of sub-shapes.

  • HasSubShape(theI: number): boolean

    Query Returns true if the shape has sub-shape with index theI.

    Parameters (1)
    • theI
  • HasReference(): boolean
  • SetReference(theI: number): void

    Modifier Sets the index of a reference information.

    Parameters (1)
    • theI
  • Reference(): number

    Selector Returns the index of a reference information.

  • HasBRep(): boolean

    Query Returns true if the shape has boundary representation.

  • IsInterfering(): boolean

    Returns true if the shape can be participant of an interference.
    Flag

  • HasFlag(): boolean

    Query Returns true if there is flag.

  • HasFlag(theFlag: number): { returnValue: boolean; theFlag: number }

    Query Returns true if there is flag. Returns the flag theFlag.

    Parameters (1)
    • theFlag
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • theFlag: updated value from the call.
  • SetFlag(theI: number): void

    Modifier Sets the flag.

    Parameters (1)
    • theI
  • Flag(): number

    Returns the flag.

  • Dump(): void

BOPDS_SubIterator

The class BOPDS_SubIterator is used to compute intersections between bounding boxes of two sub-sets of BRep sub-shapes of arguments of an operation (see the class BOPDS_DS). The class provides interface to iterate the pairs of intersected sub-shapes.

Constructors(2)

Instance methods(12)

  • SetDS(pDS: BOPDS_DS): void

    Sets the data structure <pDS> to process. It is used to access the shapes and their bounding boxes.

    Parameters (1)
    • pDS
  • Returns the data structure.

  • Sets the first set of indices <theLI> to process.

    Parameters (1)
    • theLI
  • Returns the first set of indices to process.

  • Sets the second set of indices <theLI> to process.

    Parameters (1)
    • theLI
  • Returns the second set of indices to process.

  • Initialize(): void

    Initializes the iterator.

  • More(): boolean

    Returns true if there are more pairs of intersected shapes.

  • Next(): void

    Moves iterations ahead.

  • Value(theIndex1: number, theIndex2: number): { theIndex1: number; theIndex2: number }

    Returns indices (DS) of intersected shapes theIndex1 - the index of the first shape theIndex2 - the index of the second shape.

    Parameters (2)
    • theIndex1
    • theIndex2
    Returns

    A result object with fields:

    • theIndex1: updated value from the call.
    • theIndex2: updated value from the call.
  • Prepare(): void

    Perform the intersection algorithm and prepare the results to be used.

  • ExpectedLength(): number

    Returns the number of interfering pairs.

BOPDS_Tools

The class BOPDS_Tools contains a set auxiliary static functions of the package BOPDS.

Constructors(1)

Static methods(4)