CFx SDK Documentation
2020SP3
|
#include <FMMdlBody.h>
Classes | |
struct | SurfaceData |
Static Public Member Functions | |
static Body | box (const OdGePoint3d &ptOrigin, const OdGeVector3d &vSizes) |
static Body | pyramid (const Profile2D &rBase, const OdGePoint3d &ptApex, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | extrusion (const Profile2D &rBase, const OdGeVector3d &vDir, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | revolution (const Profile2D &rBase, double dRadius, double dHeight, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | revolution (const Profile2D &base, const OdGeCircArc3d &revolutionAxisAndAngles, const DeviationParams &deviation=FMGeGbl::gDefDev, const OdGeMatrix2d *pBaseTransform=0) |
static Body | insideBody (const Profile2D &rBase, double dDepth, double dDepthOrigin, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | insideFrame (const Profile2D &rBase, double dWidth, double dDepth, double dDepthOrigin, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | infExtrusion (const Body &rBase, const Profile3D &rCutter, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | singleFace (const Profile2D &rBase, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | custom (const std::vector< OdGePoint3d > &aVertices, const std::vector< OdInt32 > &aFaceData, const std::vector< OdUInt32 > *aEdgeFlags=0, const std::vector< OdUInt32 > *aFaceFlags=0, const std::vector< OdUInt32 > *aVertexFlags=0, const SurfaceData *pSurfaceData=0) |
static Body | customC (const std::vector< OdGePoint3d > &aVertices, const std::vector< OdInt32 > &aFaceData, const std::vector< OdUInt32 > *aEdgeFlags=0, const std::vector< OdUInt32 > *aFaceFlags=0, const std::vector< OdUInt32 > *aVertexFlags=0, const SurfaceData *pSurfaceData=0, std::vector< OdUInt32 > *pFaceColors=0, std::vector< OdUInt32 > *pEdgeColors=0) |
static Body | boolOper (BooleanOperation eOperation, Body &rOperandA, Body &rOperandB) |
static Body | cutWithExtrusion (Body &rBase, const Profile3D &rCutter, bool bInside, double dDepth, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | cutWithInfExtrusion (Body &rBase, const Profile3D &rCutter, bool bInside, const DeviationParams &devDeviation=FMGeGbl::gDefDev) |
static Body | customInternal (const std::vector< OdGePoint3d > &aVertices, const std::vector< OdInt32 > &aFaceData, bool bRemoveTJ, const std::vector< OdUInt32 > *aEdgeFlags=0, const std::vector< OdUInt32 > *aFaceFlags=0, const std::vector< OdUInt32 > *aVertexFlags=0, const SurfaceData *pSurfaceData=0, const std::vector< OdUInt32 > *aFaceColors=0, const std::vector< OdUInt32 > *aEdgeColors=0) |
Static Public Attributes | |
static FMGEOMETRY_API_STATIC const Body | kEmpty |
Protected Member Functions | |
Body (class BodyImpl *pImpl) | |
Friends | |
class | Vertex |
class | Face |
class | Surface |
class | BodyImpl |
class | BodyInternalConsistencyRestorer |
Facet body.
Definition at line 46 of file FMMdlBody.h.
|
protected |
FacetModeler::Body::Body | ( | ) |
Constructor.
FacetModeler::Body::Body | ( | const Body & | B | ) |
Copy constructor.
FacetModeler::Body::~Body | ( | ) |
Destructor.
void FacetModeler::Body::addFace | ( | FacetModeler::Face * | pFace | ) |
Adds face. Low level operation!
FacetModeler::Face* FacetModeler::Body::addFace | ( | Surface * | pSurface = 0 | ) |
FacetModeler::Vertex* FacetModeler::Body::addVertex | ( | const OdGePoint3d & | pt | ) |
|
static |
Performs boolean operation. Destroys both operand.
eOperation | [in] Boolean operation type. |
rOperandA | [in] Operand A. |
rOperandB | [in] Operand B. |
|
static |
Creates box.
ptOrigin | [in] Origin. |
vSizes | [in] Three box sizes. |
OdUInt32 FacetModeler::Body::cachedEdgesCount | ( | ) | const |
Returns cached edge count (that was calculated in most recent countEdges() call ).
bool FacetModeler::Body::checkInternalConsistence | ( | OdString * | pFirstErrorDetected = 0 | ) | const |
void FacetModeler::Body::clear | ( | ) |
Clears body.
|
inline |
Clears body tags.
Definition at line 202 of file FMMdlBody.h.
void FacetModeler::Body::clearEdgeTags | ( | FacetModeler::AecTagType | clearValue = 0 | ) |
Clears edge tags.
void FacetModeler::Body::clearFaceTags | ( | FacetModeler::AecTagType | clearValue = 0 | ) |
Clears face tags.
void FacetModeler::Body::clearSurfaceTags | ( | FacetModeler::AecTagType | clearValue = 0 | ) |
Clears body tags.
void FacetModeler::Body::clearVertexTags | ( | FacetModeler::AecTagType | clearValue = 0 | ) |
Clears vertex tags.
Body FacetModeler::Body::clone | ( | ) | const |
Returns copy of the body.
void FacetModeler::Body::clone_impl_if_referenced | ( | ) |
Combines this body and operand into single body.
bool FacetModeler::Body::containsNonManifoldEdges | ( | ) | const |
OdUInt32 FacetModeler::Body::countEdges | ( | ) | const |
Counts and returns number of edges.
|
static |
Creates custom body.
aVertices | [in] Vertex data. |
aFaceData | [in] Face data. |
aEdgeFlags | [in] Edge flags. |
aFaceFlags | [in] Face flags. |
aVertexFlags | [in] Vertex flags. |
|
static |
Creates custom body.
aVertices | [in] Vertex data. |
aFaceData | [in] Face data. |
aEdgeFlags | [in] Edge flags. |
aFaceFlags | [in] Face flags. |
aVertexFlags | [in] Vertex flags. |
pFaceColors | [in] Colors of the faces. |
|
static |
|
static |
Returns part of the body in negative half-plane. Destroys operand.
rBase | [in] Initial body. |
rCutter | [in] Cut plane. |
Cuts with extrusion. Destroys operand.
rBase | [in] Base body. |
rCutter | [in] Cutting profile. |
bInside | [in] Whether to leave inside part or outside. |
dDepth | [in] Extrusion depth. |
devDeviation | [in] Deviation. |
|
static |
Cuts with infinite extrusion. Destroys operand.
rBase | [in] Base body. |
rCutter | [in] Cutting profile. |
bInside | [in] Whether to leave inside part or outside. |
devDeviation | [in] Deviation. |
void FacetModeler::Body::deleteFace | ( | FacetModeler::Face * | pFace | ) |
Removes and deletes face. Low level operation!
void FacetModeler::Body::deleteUnusedVertices | ( | ) |
Deletes unused vertices from body.
|
static |
Creates extrusion.
rBase | [in] Base profile (in XY plane). |
vDir | [in] Extrusion direction. |
devDeviation | [in] Deviation. |
OdUInt32 FacetModeler::Body::faceCount | ( | ) | const |
Returns face count.
FacetModeler::Face* FacetModeler::Body::faceList | ( | ) | const |
Returns face list.
OdUInt32 FacetModeler::Body::getSurfaceCount | ( | ) |
FacetModeler::Surface* FacetModeler::Body::getSurfaceList | ( | ) |
FacetModeler::Vertex* FacetModeler::Body::getVertexList | ( | ) |
bool FacetModeler::Body::hasCoincidentEdges | ( | ) | const |
bool FacetModeler::Body::hasCoincidentVertices | ( | ) | const |
|
static |
Create infinite extrusion from profile and height a little bit more height body.
rBase | [in] Base body. |
rCutter | [in] Cutting profile. |
devDeviation | [in] Deviation. |
|
static |
Creates inside body.
rBase | [in] Base profile (in XZ plane). |
dDepth | [in] Depth. |
dDepthOrigin | [in] Depth origin. |
devDeviation | [in] Deviation. |
|
static |
Creates inside frame.
rBase | [in] Base profile (in XZ plane). |
dWidth | [in] Width. |
dDepth | [in] Depth. |
dDepthOrigin | [in] Depth origin. |
devDeviation | [in] Deviation. |
bool FacetModeler::Body::intersectLine | ( | const OdGeLinearEnt3d & | gLine, |
std::vector< OdGePoint3d > & | vecPoints, | ||
bool | bSortResults = false |
||
) | const |
Intersects this Body with the given line. Returns true, if there are intersections. There can be multiple equal intersections.
OdGeExtents3d FacetModeler::Body::interval | ( | ) | const |
Returns extents.
bool FacetModeler::Body::isClosed | ( | ) | const |
Returns whether the body is closed (any face is connected to other one at any adge).
bool FacetModeler::Body::isNull | ( | ) | const |
Returns whether the body is empty.
bool FacetModeler::Body::mergeCoincidentVertices | ( | ) |
Merges coincident vertices.
void FacetModeler::Body::mergeCoplanarEntities | ( | ) |
Merges coplanar faces and collinear edges.
void FacetModeler::Body::negate | ( | ) |
Inverts body.
bool FacetModeler::Body::operator!= | ( | const Body & | aBody | ) | const |
Assignment operator.
bool FacetModeler::Body::operator== | ( | const Body & | aBody | ) | const |
|
static |
Creates pyramid.
rBase | [in] Base profile. |
ptApex | [in] Pyramid apex. |
devDeviation | [in] Deviation. |
void FacetModeler::Body::regeneratePairEdges | ( | ) |
void FacetModeler::Body::removeFace | ( | FacetModeler::Face * | pFace | ) |
Removes face. Low level operation!
void FacetModeler::Body::resetColors | ( | ) |
Creates custom body. Removes t-junctions.
aVertices | [in] Vertex data. |
aFaceData | [in] Face data. |
aEdgeFlags | [in] Edge flags. |
aFaceFlags | [in] Face flags. |
aVertexFlags | [in] Vertex flags. |
Creates a new Body from ACAD entity (OdDb3dSolid is supported)
idEntity | [in] original object (OdDb3dSolid). |
Sets faces and edges colors to zero
|
static |
Creates revolution.
base | [in] Base profile. |
axis | [in] Revolution axis. |
revolutionAngle | [in] Revolution angle. |
deviation | [in] Deviation. |
baseTransform | [in] Additional transform to be applied to base profile while being revolved. |
|
static |
Creates extrusion.
rBase | [in] Base profile (in XY plane). |
rPath | [in] Extrusion path. |
devDeviation | [in] Deviation. |
Creates extrusion.
rBase | [in] Base profile. |
rPath | [in] Extrusion path. |
vNormal | [in] Z axis for extrusion. |
devDeviation | [in] Deviation. |
Creates revolution.
rBase | [in] Base profile (X - along height, Y - along radius). |
dRadius | [in] Radius. |
dHeight | [in] Height. |
devDeviation | [in] Deviation. |
void FacetModeler::Body::setSurfaceList | ( | FacetModeler::Surface * | pList | ) |
void FacetModeler::Body::setTag | ( | FacetModeler::AecTagType | iTag | ) |
Sets tag 1.
void FacetModeler::Body::setVertexList | ( | FacetModeler::Vertex * | pList | ) |
|
static |
Creates single face body.
rBase | [in] Base profile (in XY plane). |
devDeviation | [in] Deviation. |
void FacetModeler::Body::slice | ( | const Contour2D & | cCutLine, |
const OdGePlane & | pProjectOn, | ||
Profile3D & | rResult, | ||
bool | bIncludeBoundary = true |
||
) | const |
Returns slice along specified cut line profile.
void FacetModeler::Body::slice | ( | const OdGePlane & | rCutter, |
Profile2D * | pResultIncludingBoundary, | ||
Profile2D * | pResultExcludingCoincidingBoundary = 0 , |
||
Profile2D * | pResultExcludingOppositeBoundary = 0 , |
||
Profile2D * | pResultExcludingBoundary = 0 , |
||
FaceConstPtrArray * | pCoincidingFaces = 0 , |
||
FaceConstPtrArray * | pOppositeFaces = 0 |
||
) | const |
Returns slice profile.
void FacetModeler::Body::slice | ( | const OdGePlane & | rCutter, |
Profile3D & | rResult, | ||
bool | bIncludeBoundary = true |
||
) | const |
Returns slice profile.
void FacetModeler::Body::splitFace | ( | FacetModeler::Face * | pFace, |
const OdGePlane & | pPlane, | ||
std::vector< FacetModeler::Face * > * | pNewOuter = 0 , |
||
std::vector< FacetModeler::Face * > * | pNewInner = 0 |
||
) |
Splits single face by plane preserving topology.
pFace | [in] Face to split. |
pPlane | [in] Splitting plane. |
pNewOuter | [out] Resulting outer faces. |
pNewInner | [out] Resulting inner faces. |
OdUInt32 FacetModeler::Body::surfaceCount | ( | ) | const |
Returns surface count.
Surface* FacetModeler::Body::surfaceList | ( | ) | const |
Returns surface list.
FacetModeler::AecTagType FacetModeler::Body::tag | ( | ) | const |
Returns tag 1.
void FacetModeler::Body::transform | ( | const OdGeMatrix3d & | mMatrix | ) |
Transforms body.
OdUInt32 FacetModeler::Body::vertexCount | ( | ) | const |
Returns vertex count.
FacetModeler::Vertex* FacetModeler::Body::vertexList | ( | ) | const |
Returns vertex list.
double FacetModeler::Body::volume | ( | ) | const |
Returns volume.
|
friend |
Definition at line 679 of file FMMdlBody.h.
|
friend |
Definition at line 680 of file FMMdlBody.h.
|
friend |
Definition at line 677 of file FMMdlBody.h.
|
friend |
Definition at line 678 of file FMMdlBody.h.
|
friend |
Definition at line 676 of file FMMdlBody.h.
|
static |
Definition at line 265 of file FMMdlBody.h.