#include <FMMdlBody.h>
|
static Body | box (const OdGePoint3d &ptOrigin, const OdGeVector3d &vSizes) |
|
static Body | pyramid (const Profile2D &rBase, const OdGePoint3d &ptApex, const DeviationParams &deviation=FMGeGbl::gDefDev) |
|
static Body | extrusion (const Profile2D &rBase, const OdGeVector3d &vDir, const DeviationParams &deviation=FMGeGbl::gDefDev) |
|
static Body | extrusion (const Profile2D &rBase, const Contour3D &rPath, const DeviationParams &deviation=FMGeGbl::gDefDev) |
|
static Body | extrusion (const Profile2D &rBase, const OdGePoint3dArray &rPath, const OdGeVector3d &vNormal, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
|
static Body | extrusion (const Profile2D &rBase, const OdGeMatrix3d &mBasePlane, const OdGeVector3d &vDir, const DeviationParams &deviation=FMGeGbl::gDefDev) |
|
static Body | revolution (const Profile2D &rBase, double dRadius, double dHeight, const DeviationParams &deviation=FMGeGbl::gDefDev) |
|
static Body | revolution (const Profile2D &base, const OdGeCircArc3d &revAxisAndAngles, const DeviationParams &deviation=FMGeGbl::gDefDev, const OdGeMatrix2d *pBaseTransform=NULL) |
|
static Body | revolution (const Profile2D &base, const OdGeVector3d &revAxis, const OdGePoint3d &axisPosition, double startAng, double endAng, const DeviationParams &deviation=FMGeGbl::gDefDev) |
|
static Body | boolOper (BooleanOperation eOperation, Body &rOperandA, Body &rOperandB, bool bOptimization=false) |
|
static Body | createFromMesh (const std::vector< OdGePoint3d > &aVertices, const std::vector< OdInt32 > &aFaceData, const std::vector< OdUInt32 > *aFaceFlags=NULL, const std::vector< OdUInt32 > *aEdgeFlags=NULL, const std::vector< OdUInt32 > *aVertexFlags=NULL, const std::vector< OdUInt32 > *pFaceColors=NULL, const std::vector< OdUInt32 > *pEdgeColors=NULL, const std::vector< OdGePoint2d > *pMappingCoords=NULL) |
|
Represents facet body objects.
Definition at line 39 of file FMMdlBody.h.
◆ Body() [1/3]
FacetModeler::Body::Body |
( |
| ) |
|
◆ Body() [2/3]
FacetModeler::Body::Body |
( |
const Body & |
B | ) |
|
Assignment constructor.
- Parameters
-
◆ ~Body()
FacetModeler::Body::~Body |
( |
| ) |
|
◆ Body() [3/3]
FacetModeler::Body::Body |
( |
class BodyImpl * |
pImpl | ) |
|
|
explicitprotected |
Creates Body object with specified implementation object pointer.
- Parameters
-
pImpl | [in] Implementation object pointer. |
◆ addFace() [1/2]
void FacetModeler::Body::addFace |
( |
Face * |
pFace | ) |
|
◆ addFace() [2/2]
Face * FacetModeler::Body::addFace |
( |
Surface * |
pSurface = NULL | ) |
|
Adds a face.
- Parameters
-
- Returns
- Pointer to the newly created face.
◆ addSurface()
void FacetModeler::Body::addSurface |
( |
Surface * |
pSurface | ) |
|
Adds the specified surface to the body.
- Parameters
-
◆ addVertex() [1/2]
Adds a vertex.
- Parameters
-
- Returns
- Pointer to the newly created vertex.
◆ addVertex() [2/2]
void FacetModeler::Body::addVertex |
( |
Vertex * |
pVertex | ) |
|
Adds the specified vertex to the body.
- Parameters
-
◆ boolOper()
Performs a boolean operation destroying both operands.
- Parameters
-
eOperation | [in] Boolean operation type. |
rOperandA | [in] Operand A. |
rOperandB | [in] Operand B. |
bOptimization | [in] Optimization flag |
- Returns
- Resulting body.
◆ box()
Creates a box.
- Parameters
-
ptOrigin | [in] Origin. |
vSizes | [in] Three box sizes. |
- Returns
- Resulting body.
◆ cachedEdgesCount()
OdUInt32 FacetModeler::Body::cachedEdgesCount |
( |
| ) |
const |
Gets the cached edge count.
- Returns
- Cached edge count.
◆ checkInternalConsistence()
bool FacetModeler::Body::checkInternalConsistence |
( |
OdString * |
pFirstErrorDetected = NULL | ) |
const |
Checks the body for validity.
- Parameters
-
pFirstErrorDetected | [out] (Optional) Error result string. |
- Returns
- true if the body is valid, or false otherwise.
◆ clear()
void FacetModeler::Body::clear |
( |
| ) |
|
◆ clearBodyTags()
void FacetModeler::Body::clearBodyTags |
( |
TagType |
clearValue = 0 | ) |
|
|
inline |
Resets body tags.
- Parameters
-
clearValue | [in] New value to set. |
Definition at line 259 of file FMMdlBody.h.
◆ clearEdgeTags()
void FacetModeler::Body::clearEdgeTags |
( |
TagType |
clearValue = 0 | ) |
|
Resets edge tags.
- Parameters
-
clearValue | [in] New value to set. |
◆ clearFaceFlags()
void FacetModeler::Body::clearFaceFlags |
( |
OdUInt32 |
clearValue = 0 | ) |
|
Resets face flags.
- Parameters
-
clearValue | [in] New value to set. |
◆ clearFaceTags()
void FacetModeler::Body::clearFaceTags |
( |
TagType |
clearValue = 0 | ) |
|
Resets face tags.
- Parameters
-
clearValue | [in] New value to set. |
◆ clearSurfaceTags()
void FacetModeler::Body::clearSurfaceTags |
( |
TagType |
clearValue = 0 | ) |
|
Resets body tags.
- Parameters
-
clearValue | [in] New value to set. |
◆ clearVertexTags()
void FacetModeler::Body::clearVertexTags |
( |
TagType |
clearValue = 0 | ) |
|
Resets vertex tags.
- Parameters
-
clearValue | [in] New value to set. |
◆ clone()
Body FacetModeler::Body::clone |
( |
| ) |
const |
Creates a copy of the body.
- Returns
- Copy of the Body object.
◆ combine()
Body FacetModeler::Body::combine |
( |
Body & |
rAnother | ) |
|
Combines this body and operand into a single body.
- Parameters
-
rAnother | [in] Second body to combine with. |
- Returns
- Resulting combined body.
◆ containsNonManifoldEdges()
bool FacetModeler::Body::containsNonManifoldEdges |
( |
| ) |
const |
Checks whether the body has non-manifold edges.
- Returns
- true if at least one non-manifold edge is found, or false otherwise.
◆ countEdges()
OdUInt32 FacetModeler::Body::countEdges |
( |
| ) |
const |
Counts and returns the number of edges.
- Returns
- Edge count as OdUInt32.
◆ createFromMesh()
static Body FacetModeler::Body::createFromMesh |
( |
const std::vector< OdGePoint3d > & |
aVertices, |
|
|
const std::vector< OdInt32 > & |
aFaceData, |
|
|
const std::vector< OdUInt32 > * |
aFaceFlags = NULL , |
|
|
const std::vector< OdUInt32 > * |
aEdgeFlags = NULL , |
|
|
const std::vector< OdUInt32 > * |
aVertexFlags = NULL , |
|
|
const std::vector< OdUInt32 > * |
pFaceColors = NULL , |
|
|
const std::vector< OdUInt32 > * |
pEdgeColors = NULL , |
|
|
const std::vector< OdGePoint2d > * |
pMappingCoords = NULL |
|
) |
| |
|
static |
Creates a custom body from the specified definition arrays.
- Parameters
-
aVertices | [in] Array of vertex points. |
aFaceData | [in] Array of integers describing the face definition based on the input vertex array. |
aEdgeFlags | [in] Edge flags array. |
aFaceFlags | [in] Face flags array. |
aVertexFlags | [in] Vertex flags array. |
pFaceColors | [in] Colors array of the faces. |
pEdgeColors | [in] Colors array of the edges. |
pMappingCoords | [in] The mapping coordinates array for every face. |
- Returns
- Resulting body.
The aFaceData is an array of faces, and each face is represented in it by a sequence of numbers. The first number in the sequence determines the number of vertices for the face and must be greater than or equal to 3. The following numbers define the indices of vertices in aVertices.
◆ decomposeIntoLumps()
void FacetModeler::Body::decomposeIntoLumps |
( |
std::vector< Body > & |
aLumps | ) |
|
Decomposes the body into one or more lump bodies.
- Parameters
-
aLumps | [out] Array of lump bodies. |
◆ deleteFace()
void FacetModeler::Body::deleteFace |
( |
Face * |
pFace | ) |
|
Removes and deletes a face.
- Parameters
-
pFace | [in] Face to delete. |
◆ deleteUnusedSurfaces()
void FacetModeler::Body::deleteUnusedSurfaces |
( |
| ) |
|
Deletes surfaces that are not set to any face
◆ deleteUnusedVertices()
void FacetModeler::Body::deleteUnusedVertices |
( |
| ) |
|
Deletes unused vertices from the body.
◆ extrusion() [1/4]
Creates an extrusion.
- Parameters
-
rBase | [in] Base profile (on XY plane). |
rPath | [in] Path specified in plane. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ extrusion() [2/4]
Creates an extrusion of a 2D profile along the vDir vector.
- Parameters
-
rBase | [in] Base profile (on XY plane). |
mBasePlane | [in] Initial 3D plane of the profile as OdGeMatrix3d. |
vDir | [in] Extrusion direction and length. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ extrusion() [3/4]
Creates an extrusion.
- Parameters
-
rBase | [in] Base profile (on XY plane). |
rPath | [in] Path specified in space. |
vNormal | [in] Profile top in space. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ extrusion() [4/4]
Creates an extrusion.
- Parameters
-
rBase | [in] Base profile (on XY plane). |
vDir | [in] Extrusion direction. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ faceCount()
OdUInt32 FacetModeler::Body::faceCount |
( |
| ) |
const |
Gets a faces count.
- Returns
- Count of faces as OdUInt32.
◆ faceList()
Face * FacetModeler::Body::faceList |
( |
| ) |
const |
Gets a face list.
- Returns
- Face list pointer.
◆ generateMesh()
Creates triangles mesh representing this body.
- Parameters
-
mesh | [out] The generated triangles mesh. |
◆ hasCoincidentEdges()
bool FacetModeler::Body::hasCoincidentEdges |
( |
| ) |
const |
Checks whether the body has coincident edges.
- Returns
- true if the face has at least two coincident edges, or false otherwise.
◆ hasCoincidentVertices()
bool FacetModeler::Body::hasCoincidentVertices |
( |
| ) |
const |
Checks whether the body has coincident vertices.
- Returns
- true if the face has at least two coincident vertices, or false otherwise.
◆ intersectLine()
Intersects this body with the given line.
- Parameters
-
gLine | [in] Line to intersect with. |
aPoints | [out] Intersection points array. |
bSortResults | [in] true to sort points behind their parameters on the line gLine. |
- Returns
- true if there are intersections, or false otherwise.
◆ interval()
Gets geometric extents.
- Returns
- Calculated geometric extents as OdGeExtents3d.
◆ isClosed()
bool FacetModeler::Body::isClosed |
( |
| ) |
const |
Checks whether the body is closed (any face is connected to another one at any edge).
- Returns
- true if the body is closed, or false otherwise.
◆ isNull()
bool FacetModeler::Body::isNull |
( |
| ) |
const |
Checks whether the body is empty.
- Returns
- false if the body has at least one face, or true otherwise.
◆ mergeCoincidentVertices()
bool FacetModeler::Body::mergeCoincidentVertices |
( |
| ) |
|
Merges coincident vertices.
- Returns
- true if at least two coincident vertices are merged.
◆ mergeCoplanarEntities()
void FacetModeler::Body::mergeCoplanarEntities |
( |
| ) |
|
Merges coplanar faces and collinear edges.
◆ negate()
void FacetModeler::Body::negate |
( |
| ) |
|
◆ operator!=()
bool FacetModeler::Body::operator!= |
( |
const Body & |
aBody | ) |
const |
Checks if the body is not equal to the specified body.
- Parameters
-
aBody | [in] Body to compare with. |
- Returns
- true if at least one vertex does not match with the other body, or false otherwise.
◆ operator=()
Body & FacetModeler::Body::operator= |
( |
const Body & |
B | ) |
|
Assignment operator.
- Parameters
-
- Returns
- Reference to this body.
◆ operator==()
bool FacetModeler::Body::operator== |
( |
const Body & |
aBody | ) |
const |
Checks if the body is equal to the specified body.
- Parameters
-
aBody | [in] Body to compare with. |
- Returns
- false if at least one vertex does not match with the other body, or true otherwise.
◆ pyramid()
Creates a pyramid.
- Parameters
-
rBase | [in] Base profile (on XY plane). |
ptApex | [in] Pyramid apex. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ regeneratePairEdges()
void FacetModeler::Body::regeneratePairEdges |
( |
| ) |
|
◆ removeFace()
void FacetModeler::Body::removeFace |
( |
Face * |
pFace | ) |
|
Removes a face.
- Parameters
-
pFace | [in] Face to remove. |
◆ revolution() [1/3]
Creates a revolution body using a base profile, circle arc with revolution axis and angles, and deviation parameters.
- Parameters
-
base | [in] Base profile (on XY plane). |
revAxisAndAngles | [in] Circle arc with specified revolution axis as normal and revolution angles. |
deviation | [in] Deviation parameters. |
pBaseTransform | [in] (Optional) Transform to be applied to the base profile while being revolved. |
- Returns
- Resulting body.
◆ revolution() [2/3]
Creates a revolution body using a base profile, revolution axis, position of the revolution axis, start and end angles of revolution, and deviation parameters.
- Parameters
-
base | [in] Base profile (on XY plane). |
revAxis | [in] Revolution axis. |
axisPosition | [in] Position of the revolution axis. |
startAng | [in] Start angle of revolution. |
endAng | [in] End angle of revolution. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ revolution() [3/3]
Creates a revolution body using a base profile, radius, height and deviation parameters.
- Parameters
-
rBase | [in] Base profile (X - along height, Y - along radius). |
dRadius | [in] Radius. |
dHeight | [in] Height. |
deviation | [in] Deviation parameters. |
- Returns
- Resulting body.
◆ setColor()
Sets face and edge colors to the specified value.
- Parameters
-
iColor | [in] New color value as OdUInt32. |
◆ setFaceCount()
Sets the count of faces to the specified number.
- Parameters
-
count | [in] New face count. |
◆ setFaceList()
void FacetModeler::Body::setFaceList |
( |
Face * |
pList | ) |
|
Sets the pointer to the first face of the body.
- Parameters
-
pList | [in] Face list pointer. |
◆ setSurfaceCount()
Sets the count of surfaces to the specified number.
- Parameters
-
count | [in] New surface count. |
◆ setSurfaceList()
void FacetModeler::Body::setSurfaceList |
( |
Surface * |
pList | ) |
|
Sets the pointer to the first surface of the body.
- Parameters
-
◆ setTag()
Sets the first tag.
- Parameters
-
◆ setVertexCount()
Sets the count of vertices to the specified number.
- Parameters
-
count | [in] New vertex count. |
◆ setVertexList()
void FacetModeler::Body::setVertexList |
( |
Vertex * |
pList | ) |
|
Sets the pointer to the first vertex of the body.
- Parameters
-
pList | [in] Vertex list pointer. |
◆ simplify()
void FacetModeler::Body::simplify |
( |
double |
param | ) |
|
Reduces the number of primitives (vertices and faces).
- Parameters
-
param | [in] Simplification percent if positive, or tolerance if negative. |
◆ slice() [1/2]
Gets a slice half-body created by the specified plane.
- Parameters
-
rCutter | [in] Cutting plane to slice the body. |
result | [out] Resulting body. |
◆ slice() [2/2]
Gets a slice profile created by the specified plane.
- Parameters
-
rCutter | [in] Cutting plane to slice the body. |
rResult | [out] Resulting profile. |
bIncludeBoundary | [in] true to include bounds in the resulting profile, false to exclude. |
◆ splitFace()
void FacetModeler::Body::splitFace |
( |
Face * |
pFace, |
|
|
const OdGePlane & |
pPlane, |
|
|
std::vector< Face * > * |
pNewOuter = NULL , |
|
|
std::vector< Face * > * |
pNewInner = NULL |
|
) |
| |
Splits a single face with a plane while preserving topology.
- Parameters
-
pFace | [in] Face to split. |
pPlane | [in] Splitting plane. |
pNewOuter | [in] Resulting outer faces. |
pNewInner | [in] Resulting inner faces. |
◆ surfaceCount()
OdUInt32 FacetModeler::Body::surfaceCount |
( |
| ) |
const |
Gets a surface count.
- Returns
- Count of surfaces as OdUInt32.
◆ surfaceList()
Surface * FacetModeler::Body::surfaceList |
( |
| ) |
const |
Gets a surface list.
- Returns
- Surface list pointer.
◆ tag()
TagType FacetModeler::Body::tag |
( |
| ) |
const |
Gets the first tag.
- Returns
- Tag value.
◆ transform()
Transforms the body by the specified matrix.
- Parameters
-
◆ vertexCount()
OdUInt32 FacetModeler::Body::vertexCount |
( |
| ) |
const |
Gets a vertex count.
- Returns
- Count of vertices as OdUInt32.
◆ vertexList()
Vertex * FacetModeler::Body::vertexList |
( |
| ) |
const |
Gets a vertex list.
- Returns
- Vertex list pointer.
◆ volume()
double FacetModeler::Body::volume |
( |
| ) |
const |
Calculates volume.
- Returns
- Volume value.
◆ BodyCustom
◆ BodyImpl
◆ BodyInternalConsistencyRestorer
friend class BodyInternalConsistencyRestorer |
|
friend |
◆ Face
◆ Surface
◆ Vertex
◆ kEmpty
The documentation for this class was generated from the following file: