Public Types | Public Member Functions | Static Public Member Functions | List of all members
CurveTopologyId Struct Reference

The CurveTopologyId class identifies the source of a curve within a larger wireframe entity such as a B-Rep body or SolidPrimitive. More...

#include <CurveTopologyId.h>

Public Types

enum  { INVALID_Id = 0xffffffff, Max_PolyfaceCutIds = 255 }
 Anonymous enumeration to define CurveTopologyId constants. More...
 
enum  Type {
  Type_Unknown = 0, Type_BRepSharedEdge = 1, Type_BRepSheetEdge = 2, Type_BRepSilhouette = 3,
  Type_MeshSharedEdge = 4, Type_MeshSheetEdge = 5, Type_MeshUnknown = 6, Type_IndexedMeshEdge = 7,
  Type_Wire = 8, Type_UnannnouncedSectionShape = 9, Type_UnannouncedSectionWire = 10, Type_VisEdgesAnalytic = 11,
  Type_VisEdgesBoundedPlane = 12, Type_GeometryMap = 13, Type_SweepProfile = 14, Type_SweepLateral = 15,
  Type_CutWires = 16, Type_CutFill = 17, Type_VisEdgesIntersection = 18, Type_SweepSilhouette = 19,
  Type_BRepIsoIsoline = 20, Type_CurveVector = 21, Type_PolyfaceCut = 22, Type_PolyfaceEdge = 23,
  Type_MeshEdgeVertices = 24, Type_BRepPlanarFace = 25, Type_Max
}
 Enumeration of how the curve originated. More...
 

Public Member Functions

 CurveTopologyId (Type type)
 Constructor with type code. More...
 
 CurveTopologyId (Type, uint32_t id)
 Constructor with type code and single integer id. More...
 
 CurveTopologyId (Type, uint32_t id0, uint32_t id1)
 Constructor with type code and two integer ids. More...
 
 CurveTopologyId (Type, uint32_t id0, uint32_t id1, uint32_t id2)
 Constructor with type code and three integer ids. More...
 
 CurveTopologyId (Type type, uint32_t const *ids, size_t idCount)
 Constructor with type code and arrasy of ids. More...
 
 CurveTopologyId (uint32_t id, CurveTopologyIdCR CurveId)
 Constructor with id and referenced curve (id saved first, then ids from curveId) More...
 
BentleyStatus Init (Type type, uint32_t const *ids, size_t idCount)
 Initializer with type code and array of ids. More...
 
 CurveTopologyId ()
 Default constructor. More...
 
 CurveTopologyId (CurveTopologyIdCR rhs)
 Constructor, copy ids from rhs. More...
 
 CurveTopologyId (CurveTopologyIdCR curveId, uint32_t id)
 Constructor with referenced curve and id (ids from curveId are saved first, then the added id) More...
 
 CurveTopologyId (void const *data, size_t dataBytes)
 Constructor with array of id data. More...
 
BentleyStatus Init (void const *data, size_t dataBytes)
 Initialize with array of id data. More...
 
Type GetType () const
 Return the type code. More...
 
size_t GetCount () const
 Return the id data count (in UInt32's) More...
 
uint32_t GetId (size_t index) const
 Return id by index. More...
 
WString GetDebugString () const
 Return debug string form. More...
 
void Pack (bvector< Byte > &packed) const
 Return a packed form of the ids. More...
 
bool IsEmpty () const
 Return true if there are no ids. More...
 
void Clear ()
 Clear the id array and set the type code to default unknown value. More...
 
bool operator== (CurveTopologyIdCR rhs) const
 Direct equality tests. More...
 
bool operator< (CurveTopologyIdCR rhs) const
 Lexical sort or (typeCode, idCount, id0, id1...) More...
 
BentleyStatus GetBRepIsoline (FaceId *faceId, size_t *isolineIndex) const
 Extract brep isoline. More...
 
BentleyStatus GetBRepSharedEdge (FaceId *faceId0, FaceId *faceId1) const
 extract adjacent faces of brep edge More...
 
BentleyStatus GetBRepSheetEdge (FaceId *edgeId) const
 extract adjacent face of brep edge More...
 
BentleyStatus GetBRepPlanarFace (FaceId *faceId) const
 

Static Public Member Functions

static CurveTopologyId FromBRepIsoline (FaceId const &faceId, size_t isolineIndex)
 construct and return with FaceId and isolineIndex More...
 
static CurveTopologyId FromBRepSharedEdge (FaceId const &faceId0, FaceId const &faceId1)
 Construct an return for brep edge with two faces. More...
 
static CurveTopologyId FromBRepSheetEdge (FaceId const &edgeId)
 Construct and return for brep edge with one face. More...
 
static CurveTopologyId FromBRepSilhouette (FaceId const &edgeId)
 Construct and return for brep silhouette edge. More...
 
static CurveTopologyId FromBRepPlanarFace (FaceId const &faceId)
 Construct and return for brep edge with one face. More...
 
static CurveTopologyId FromSweepProfile (size_t profileIndex)
 construct and return for index of swept profile curve. More...
 
static CurveTopologyId FromSweepLateral (size_t lateralIndex)
 construct and return for indexed lateral within sweep. More...
 
static CurveTopologyId FromSweepSilhouette (size_t silhouetteIndex)
 construct and return for silhouette of sweep More...
 
static CurveTopologyId FromMeshSharedEdge (size_t faceIndex0, size_t faceIndex1)
 construct and return for mesh edge with 2 faces More...
 
static CurveTopologyId FromMeshEdgeVertices (size_t vertexIndex0, size_t vertexIndex1)
 construct and return for mesh edge with 2 vertices More...
 
static CurveTopologyId FromGeometryMap ()
 construct and return for geometry map. More...
 
static CurveTopologyId FromWire ()
 construct and return for wire edge More...
 
static CurveTopologyId FromUnknownCurve (size_t curveIndex)
 construct and return for unknown curve More...
 
static CurveTopologyId FromVisEdgesBoundedPlane (size_t)
 construct and return for indexed loop in visible edges More...
 
static CurveTopologyId FromParasolidGPArrayId (size_t, size_t)
 construct and return from Parasolid parasolid GPArray ID More...
 
static CurveTopologyId FromVisEdgesAnalytic (size_t curveIndex)
 
static CurveTopologyId FromVisEdgesIntersection ()
 construct and return for intersection curve in visible edges More...
 
static CurveTopologyId FromCurveVector ()
 construct and return for curve vector More...
 
static BentleyStatus AddCurveVectorIds (CurveVectorCR curveVector, CurvePrimitiveId::Type type, CurveTopologyIdCR id, CompoundDrawStateP cds)
 

Detailed Description

The CurveTopologyId class identifies the source of a curve within a larger wireframe entity such as a B-Rep body or SolidPrimitive.

The "Type" enumeration identifies the type of data stored. The data itself is packed into a Byte array.

A CurveTopologyId is generally embedded with a CurvePrimitiveId. The CurvePrimitiveId includes additional information (CompoundDrawState) that identify the curve within the context of an element.

Member Enumeration Documentation

anonymous enum

Anonymous enumeration to define CurveTopologyId constants.

Enumerator
INVALID_Id 
Max_PolyfaceCutIds 
enum Type

Enumeration of how the curve originated.

Enumerator
Type_Unknown 
Type_BRepSharedEdge 
Type_BRepSheetEdge 
Type_BRepSilhouette 
Type_MeshSharedEdge 
Type_MeshSheetEdge 
Type_MeshUnknown 
Type_IndexedMeshEdge 
Type_Wire 
Type_UnannnouncedSectionShape 
Type_UnannouncedSectionWire 
Type_VisEdgesAnalytic 
Type_VisEdgesBoundedPlane 
Type_GeometryMap 
Type_SweepProfile 
Type_SweepLateral 
Type_CutWires 
Type_CutFill 
Type_VisEdgesIntersection 
Type_SweepSilhouette 
Type_BRepIsoIsoline 
Type_CurveVector 
Type_PolyfaceCut 
Type_PolyfaceEdge 
Type_MeshEdgeVertices 
Type_BRepPlanarFace 
Type_Max 

Constructor & Destructor Documentation

CurveTopologyId ( Type  type)

Constructor with type code.

CurveTopologyId ( Type  ,
uint32_t  id 
)

Constructor with type code and single integer id.

CurveTopologyId ( Type  ,
uint32_t  id0,
uint32_t  id1 
)

Constructor with type code and two integer ids.

CurveTopologyId ( Type  ,
uint32_t  id0,
uint32_t  id1,
uint32_t  id2 
)

Constructor with type code and three integer ids.

CurveTopologyId ( Type  type,
uint32_t const *  ids,
size_t  idCount 
)

Constructor with type code and arrasy of ids.

References Init().

Constructor with id and referenced curve (id saved first, then ids from curveId)

Default constructor.

Constructor, copy ids from rhs.

Constructor with referenced curve and id (ids from curveId are saved first, then the added id)

CurveTopologyId ( void const *  data,
size_t  dataBytes 
)

Constructor with array of id data.

References Init().

Member Function Documentation

static BentleyStatus AddCurveVectorIds ( CurveVectorCR  curveVector,
CurvePrimitiveId::Type  type,
CurveTopologyIdCR  id,
CompoundDrawStateP  cds 
)
static
void Clear ( )

Clear the id array and set the type code to default unknown value.

static CurveTopologyId FromBRepIsoline ( FaceId const &  faceId,
size_t  isolineIndex 
)
static

construct and return with FaceId and isolineIndex

static CurveTopologyId FromBRepPlanarFace ( FaceId const &  faceId)
static

Construct and return for brep edge with one face.

static CurveTopologyId FromBRepSharedEdge ( FaceId const &  faceId0,
FaceId const &  faceId1 
)
static

Construct an return for brep edge with two faces.

static CurveTopologyId FromBRepSheetEdge ( FaceId const &  edgeId)
static

Construct and return for brep edge with one face.

static CurveTopologyId FromBRepSilhouette ( FaceId const &  edgeId)
static

Construct and return for brep silhouette edge.

static CurveTopologyId FromCurveVector ( )
static

construct and return for curve vector

static CurveTopologyId FromGeometryMap ( )
static

construct and return for geometry map.

static CurveTopologyId FromMeshEdgeVertices ( size_t  vertexIndex0,
size_t  vertexIndex1 
)
static

construct and return for mesh edge with 2 vertices

static CurveTopologyId FromMeshSharedEdge ( size_t  faceIndex0,
size_t  faceIndex1 
)
static

construct and return for mesh edge with 2 faces

static CurveTopologyId FromParasolidGPArrayId ( size_t  ,
size_t   
)
static

construct and return from Parasolid parasolid GPArray ID

static CurveTopologyId FromSweepLateral ( size_t  lateralIndex)
static

construct and return for indexed lateral within sweep.

static CurveTopologyId FromSweepProfile ( size_t  profileIndex)
static

construct and return for index of swept profile curve.

static CurveTopologyId FromSweepSilhouette ( size_t  silhouetteIndex)
static

construct and return for silhouette of sweep

static CurveTopologyId FromUnknownCurve ( size_t  curveIndex)
static

construct and return for unknown curve

static CurveTopologyId FromVisEdgesAnalytic ( size_t  curveIndex)
static
static CurveTopologyId FromVisEdgesBoundedPlane ( size_t  )
static

construct and return for indexed loop in visible edges

static CurveTopologyId FromVisEdgesIntersection ( )
static

construct and return for intersection curve in visible edges

static CurveTopologyId FromWire ( )
static

construct and return for wire edge

BentleyStatus GetBRepIsoline ( FaceId *  faceId,
size_t *  isolineIndex 
) const

Extract brep isoline.

BentleyStatus GetBRepPlanarFace ( FaceId *  faceId) const
BentleyStatus GetBRepSharedEdge ( FaceId *  faceId0,
FaceId *  faceId1 
) const

extract adjacent faces of brep edge

BentleyStatus GetBRepSheetEdge ( FaceId *  edgeId) const

extract adjacent face of brep edge

size_t GetCount ( ) const

Return the id data count (in UInt32's)

References bvector< _TypeT, _Allocator >::size().

WString GetDebugString ( ) const

Return debug string form.

uint32_t GetId ( size_t  index) const

Return id by index.

References INVALID_Id, and bvector< _TypeT, _Allocator >::size().

Type GetType ( ) const

Return the type code.

BentleyStatus Init ( Type  type,
uint32_t const *  ids,
size_t  idCount 
)

Initializer with type code and array of ids.

Referenced by CurveTopologyId().

BentleyStatus Init ( void const *  data,
size_t  dataBytes 
)

Initialize with array of id data.

bool IsEmpty ( ) const

Return true if there are no ids.

References bvector< _TypeT, _Allocator >::empty().

bool operator< ( CurveTopologyIdCR  rhs) const

Lexical sort or (typeCode, idCount, id0, id1...)

bool operator== ( CurveTopologyIdCR  rhs) const

Direct equality tests.

void Pack ( bvector< Byte > &  packed) const

Return a packed form of the ids.


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

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.