FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
Body Class Reference

#include <Body.h>

Inheritance diagram for Body:
Entity

Public Member Functions

 Body (Body const &)
 
 Body (void)
 
bool containsNonManifoldEdges (void) const
 
bool isNegated (void) const
 
bool isNull (void) const
 
bool isValid (int) const
 
bool mergeCoincidentVertices (void)
 
bool planeIntersectsBody (Plane const &) const
 
bool slice (Plane const &, std::vector< Point3d, std::allocator< Point3d > > &, std::vector< int, std::allocator< int > > &) const
 
Bodyalign (Point3d const &, Point3d const &, Point3d const &, Point3d const &, Point3d const &, Point3d const &)
 
Bodyalign (Point3d const &, Vector3d const &, Point3d const &, Vector3d const &)
 
Bodyalign (Point3d const &, Vector3d const &, Vector3d const &, Point3d const &, Vector3d const &, Vector3d const &)
 
Bodymirror (Plane const &)
 
Bodynegate (void)
 
Bodyoperator*= (Body const &)
 
Bodyoperator*= (Transf3d const &)
 
Bodyoperator+= (Body const &)
 
Bodyoperator-= (Body const &)
 
Bodyoperator-= (Plane const &)
 
Bodyoperator= (Body const &)
 
Bodyrotate (Line3d const &, double)
 
Bodyscale (Point3d const &, Vector3d const &)
 
Bodyscale (Point3d const &, double)
 
Bodystretch (Line3d const &)
 
Bodytransform (Transf3d const &)
 
Bodytranslate (Vector3d const &)
 
Bodynext (void) const
 
BodypickBody (Point3d const &, double, HideIntegerTransform const &) const
 
Body boolOper (Body &, BoolOperType, bool, TopologyChangeCallback *, bool)
 
Body combine (Body &)
 
Body convexHull (void) const
 
Body copy (void) const
 
Body extractFace (Face *)
 
Body extractShell (Face *)
 
Body operator* (Body const &)
 
Body operator* (Transf3d const &)
 
Body operator+ (Body const &)
 
Body operator- (Body const &)
 
Body operator- (Plane const &)
 
Body operator- (void)
 
CurvecurveList (void) const
 
EdgepickEdge (Point3d const &, double, HideIntegerTransform const &, Body **) const
 
FacefaceList (void) const
 
FacepickFace (Point3d const &, double, HideIntegerTransform const &, Body **) const
 
Interval3d const & interval (double) const
 
Point3d closestPointOnBody (Point3d, Entity *&) const
 
SurfacesurfaceList (void) const
 
VertexpickVertex (Point3d const &, double, HideIntegerTransform const &, Body **) const
 
VertexvertexList (void) const
 
double volume (void) const
 
BodyInterferenceType interfere (Body const &) const
 
BodyInterferenceType operator&& (Body const &) const
 
PointInBodyLocation contains (Point3d const &) const
 
PointInBodyLocation contains (Point3d const &, Entity *&) const
 
PointInBodyLocation operator&& (Point3d const &) const
 
RayBodyIntersection rayIntersection (Line3d const &, double, Entity *&) const
 
RayBodyIntersection rayIntersection (Line3d const &, double, Entity *&, double &) const
 
int curveCount (void) const
 
int edgeCount (void) const
 
int faceCount (void) const
 
int surfaceCount (void) const
 
int triangleCount (void) const
 
int vertexCount (void) const
 
virtual ~Body (void)
 
void __autoclassinit2 (unsigned __int64)
 
void addCurve (Curve *)
 
void addFace (Face *)
 
void addSurface (Surface *)
 
void addVertex (Vertex *)
 
void changeVertexCoordinates (Vertex **const, Point3d *const, int, bool)
 
void cleanUpNonManifoldEdgesAndCoincidentFaces (void)
 
void convertToTerrainBody (double, bool, std::vector< Face *, std::allocator< Face * > > &)
 
void copyGeomFrom (Body const &, Transf3d const &)
 
void decomposeIntoLumps (std::vector< Body *, std::allocator< Body * > > &)
 
void deleteEmptyFaces (void)
 
void deleteFace (Face *)
 
void deleteFaceIntervals (void) const
 
void deleteFaceIntervalsAndPlanes (void) const
 
void deleteMarkedCurves (unsigned int)
 
void deleteMarkedFaces (unsigned int)
 
void deleteMarkedSurfaces (unsigned int)
 
void deleteMarkedVertices (unsigned int)
 
void deleteUnusedVerticesSurfacesCurves (void)
 
void deleteVertexSurfaceData (void) const
 
void evaluateVertexSurfaceData (void) const
 
void generateUnspecifiedSurfaces (double, int)
 
void generateUnspecifiedSurfacesFromApproxEdges (int)
 
void getAllEdgesReferencingVertex (Vertex const *, std::vector< Edge *, std::allocator< Edge * > > &) const
 
void getPhysicalEdgesAndVertices (bool, bool, std::vector< Edge *, std::allocator< Edge * > > &, std::vector< Vertex *, std::allocator< Vertex * > > &)
 
void hideDisplay (Transf3d const &, OutputPolylineCallback *, bool, HiddenLineDrawingImprove, HideIntegerTransform *)
 
void hideDisplayDxf (Transf3d const &, wchar_t const *, bool, HiddenLineDrawingImprove)
 
void init (bool)
 
void makeArcTessellationsInExtrusionsCoincide (Body const &, Vector3d const &, bool &, bool &)
 
void massProperties (double &, double &, Point3d &, Point3d &, Point3d &) const
 
void mergeCoplanarEntities (bool, bool, TopologyChangeCallback *)
 
void mergeCoplanarFaces (Edge *)
 
void mergeEqualSurfaces (void)
 
void modified (void)
 
void moveFace (Face *, Vector3d const &, bool, bool, Face *&)
 
void print (_iobuf *) const
 
void removeFace (Face *)
 
void save (SaveRestoreCallback *) const
 
void save (_iobuf *) const
 
void save (wchar_t const *) const
 
void saveToSat (SaveToSatCallback *, bool) const
 
void saveToSat (_iobuf *, bool) const
 
void saveToSat (wchar_t const *, bool) const
 
void section (Plane const &, bool)
 
void section (Plane const &, Point3d const &, bool)
 
void setAEFAndBEFFlags (bool)
 
void setAEFAndBEFFlags (void)
 
void setColor (Color)
 
void setCurveList (Curve *)
 
void setFaceList (Face *)
 
void setHiddenLineParams (HiddenLinesDisplay, bool, bool)
 
void setInterval (Interval3d const &)
 
void setNext (Body *)
 
void setSurfaceList (Surface *)
 
void setVertexList (Vertex *)
 
void stitchFaces (bool, bool, bool)
 
void triangulate (OutputTriangleCallback *, TriangulationType, bool) const
 
void triangulateAllFaces (void)
 
void triangulateDxf (wchar_t const *, TriangulationType, bool) const
 
void triangulateFace (Face *)
 
- Public Member Functions inherited from Entity
 Entity (void)
 
 Entity (Entity const &)
 
bool isFlagOff (unsigned int) const
 
bool isFlagOn (unsigned int) const
 
Entityoperator= (Entity const &)
 
unsigned int flags (void) const
 
virtual ~Entity (void)
 
void flipFlag (unsigned int)
 
void setFlagOff (unsigned int)
 
void setFlagOn (unsigned int)
 
void setFlags (unsigned int)
 

Static Public Member Functions

static Body axisRevolution (Point3d const *const, PolygonVertexData **const, int, Vector3d const &, Line3d const &, double, int)
 
static Body box (Point3d const &, Vector3d const &)
 
static Body cone (Line3d const &, Vector3d const &, double, double, int)
 
static Body cone (Line3d const &, double, double, int)
 
static Body convexHull (Point3d const *const, int)
 
static Body cylinder (Line3d const &, Vector3d const &, double, int)
 
static Body cylinder (Line3d const &, double, int)
 
static Body endpointRevolution (Point3d const *const, PolygonVertexData **const, int, Vector3d const &, double, int)
 
static Body extrusion (Point3d const *const, PolygonVertexData **const, int, Vector3d const &, Vector3d const &)
 
static Body extrusionAlongPath (Body const &, Body const &, Point3d const *const, PolygonVertexData **const, int, bool, bool, Point3d const &, double, double, MorphingMap const &, bool, std::vector< int, std::allocator< int > >, std::vector< int, std::allocator< int > >)
 
static Body pipe (Line3d const &, Vector3d const &, double, double, int)
 
static Body pipe (Line3d const &, double, double, int)
 
static Body pipeConic (Line3d const &, Vector3d const &, double, double, double, double, int)
 
static Body pipeConic (Line3d const &, double, double, double, double, int)
 
static Body pyramid (Point3d const *const, PolygonVertexData **const, int, Vector3d const &, Point3d const &)
 
static Body rectangleToCircleReducer (Point3d const &, Vector2d const &, Circle3d const &, int)
 
static Body reducingElbow (Point3d const &, Point3d const &, Point3d const &, double, double, int, int)
 
static Body restore (SaveRestoreCallback *)
 
static Body restore (_iobuf *)
 
static Body restore (wchar_t const *)
 
static Body skin (Body **const, int, bool, bool, MorphingMap **, bool, bool)
 
static Body sphere (Point3d const &, double, int)
 
static Body tetrahedron (Point3d const &, Point3d const &, Point3d const &, Point3d const &)
 
static Body torus (Line3d const &, double, double, int, int)
 
static Body torus_extension (Line3d const &, double, double, int, int)
 

Detailed Description

Definition at line 43 of file Body.h.

Constructor & Destructor Documentation

◆ Body() [1/2]

Body::Body ( Body const & )

◆ Body() [2/2]

Body::Body ( void )

◆ ~Body()

virtual Body::~Body ( void )
virtual

Member Function Documentation

◆ __autoclassinit2()

void Body::__autoclassinit2 ( unsigned __int64)

◆ addCurve()

void Body::addCurve ( Curve * )

◆ addFace()

void Body::addFace ( Face * )

◆ addSurface()

void Body::addSurface ( Surface * )

◆ addVertex()

void Body::addVertex ( Vertex * )

◆ align() [1/3]

Body & Body::align ( Point3d const & ,
Point3d const & ,
Point3d const & ,
Point3d const & ,
Point3d const & ,
Point3d const &  )

◆ align() [2/3]

Body & Body::align ( Point3d const & ,
Vector3d const & ,
Point3d const & ,
Vector3d const &  )

◆ align() [3/3]

Body & Body::align ( Point3d const & ,
Vector3d const & ,
Vector3d const & ,
Point3d const & ,
Vector3d const & ,
Vector3d const &  )

◆ axisRevolution()

static Body Body::axisRevolution ( Point3d const * const ,
PolygonVertexData ** const ,
int ,
Vector3d const & ,
Line3d const & ,
double ,
int  )
static

◆ boolOper()

Body Body::boolOper ( Body & ,
BoolOperType ,
bool ,
TopologyChangeCallback * ,
bool  )

◆ box()

static Body Body::box ( Point3d const & ,
Vector3d const &  )
static

◆ changeVertexCoordinates()

void Body::changeVertexCoordinates ( Vertex ** const ,
Point3d * const ,
int ,
bool  )

◆ cleanUpNonManifoldEdgesAndCoincidentFaces()

void Body::cleanUpNonManifoldEdgesAndCoincidentFaces ( void )

◆ closestPointOnBody()

Point3d Body::closestPointOnBody ( Point3d ,
Entity *&  ) const

◆ combine()

Body Body::combine ( Body & )

◆ cone() [1/2]

static Body Body::cone ( Line3d const & ,
double ,
double ,
int  )
static

◆ cone() [2/2]

static Body Body::cone ( Line3d const & ,
Vector3d const & ,
double ,
double ,
int  )
static

◆ contains() [1/2]

PointInBodyLocation Body::contains ( Point3d const & ) const

◆ contains() [2/2]

PointInBodyLocation Body::contains ( Point3d const & ,
Entity *&  ) const

◆ containsNonManifoldEdges()

bool Body::containsNonManifoldEdges ( void ) const

◆ convertToTerrainBody()

void Body::convertToTerrainBody ( double ,
bool ,
std::vector< Face *, std::allocator< Face * > > &  )

◆ convexHull() [1/2]

static Body Body::convexHull ( Point3d const * const ,
int  )
static

◆ convexHull() [2/2]

Body Body::convexHull ( void ) const

◆ copy()

Body Body::copy ( void ) const

◆ copyGeomFrom()

void Body::copyGeomFrom ( Body const & ,
Transf3d const &  )

◆ curveCount()

int Body::curveCount ( void ) const

◆ curveList()

Curve * Body::curveList ( void ) const

◆ cylinder() [1/2]

static Body Body::cylinder ( Line3d const & ,
double ,
int  )
static

◆ cylinder() [2/2]

static Body Body::cylinder ( Line3d const & ,
Vector3d const & ,
double ,
int  )
static

◆ decomposeIntoLumps()

void Body::decomposeIntoLumps ( std::vector< Body *, std::allocator< Body * > > & )

◆ deleteEmptyFaces()

void Body::deleteEmptyFaces ( void )

◆ deleteFace()

void Body::deleteFace ( Face * )

◆ deleteFaceIntervals()

void Body::deleteFaceIntervals ( void ) const

◆ deleteFaceIntervalsAndPlanes()

void Body::deleteFaceIntervalsAndPlanes ( void ) const

◆ deleteMarkedCurves()

void Body::deleteMarkedCurves ( unsigned int )

◆ deleteMarkedFaces()

void Body::deleteMarkedFaces ( unsigned int )

◆ deleteMarkedSurfaces()

void Body::deleteMarkedSurfaces ( unsigned int )

◆ deleteMarkedVertices()

void Body::deleteMarkedVertices ( unsigned int )

◆ deleteUnusedVerticesSurfacesCurves()

void Body::deleteUnusedVerticesSurfacesCurves ( void )

◆ deleteVertexSurfaceData()

void Body::deleteVertexSurfaceData ( void ) const

◆ edgeCount()

int Body::edgeCount ( void ) const

◆ endpointRevolution()

static Body Body::endpointRevolution ( Point3d const * const ,
PolygonVertexData ** const ,
int ,
Vector3d const & ,
double ,
int  )
static

◆ evaluateVertexSurfaceData()

void Body::evaluateVertexSurfaceData ( void ) const

◆ extractFace()

Body Body::extractFace ( Face * )

◆ extractShell()

Body Body::extractShell ( Face * )

◆ extrusion()

static Body Body::extrusion ( Point3d const * const ,
PolygonVertexData ** const ,
int ,
Vector3d const & ,
Vector3d const &  )
static

◆ extrusionAlongPath()

static Body Body::extrusionAlongPath ( Body const & ,
Body const & ,
Point3d const * const ,
PolygonVertexData ** const ,
int ,
bool ,
bool ,
Point3d const & ,
double ,
double ,
MorphingMap const & ,
bool ,
std::vector< int, std::allocator< int > > ,
std::vector< int, std::allocator< int > >  )
static

◆ faceCount()

int Body::faceCount ( void ) const

◆ faceList()

Face * Body::faceList ( void ) const

◆ generateUnspecifiedSurfaces()

void Body::generateUnspecifiedSurfaces ( double ,
int  )

◆ generateUnspecifiedSurfacesFromApproxEdges()

void Body::generateUnspecifiedSurfacesFromApproxEdges ( int )

◆ getAllEdgesReferencingVertex()

void Body::getAllEdgesReferencingVertex ( Vertex const * ,
std::vector< Edge *, std::allocator< Edge * > > &  ) const

◆ getPhysicalEdgesAndVertices()

void Body::getPhysicalEdgesAndVertices ( bool ,
bool ,
std::vector< Edge *, std::allocator< Edge * > > & ,
std::vector< Vertex *, std::allocator< Vertex * > > &  )

◆ hideDisplay()

◆ hideDisplayDxf()

void Body::hideDisplayDxf ( Transf3d const & ,
wchar_t const * ,
bool ,
HiddenLineDrawingImprove  )

◆ init()

void Body::init ( bool )

◆ interfere()

BodyInterferenceType Body::interfere ( Body const & ) const

◆ interval()

Interval3d const & Body::interval ( double ) const

◆ isNegated()

bool Body::isNegated ( void ) const

◆ isNull()

bool Body::isNull ( void ) const

◆ isValid()

bool Body::isValid ( int ) const

◆ makeArcTessellationsInExtrusionsCoincide()

void Body::makeArcTessellationsInExtrusionsCoincide ( Body const & ,
Vector3d const & ,
bool & ,
bool &  )

◆ massProperties()

void Body::massProperties ( double & ,
double & ,
Point3d & ,
Point3d & ,
Point3d &  ) const

◆ mergeCoincidentVertices()

bool Body::mergeCoincidentVertices ( void )

◆ mergeCoplanarEntities()

void Body::mergeCoplanarEntities ( bool ,
bool ,
TopologyChangeCallback *  )

◆ mergeCoplanarFaces()

void Body::mergeCoplanarFaces ( Edge * )

◆ mergeEqualSurfaces()

void Body::mergeEqualSurfaces ( void )

◆ mirror()

Body & Body::mirror ( Plane const & )

◆ modified()

void Body::modified ( void )

◆ moveFace()

void Body::moveFace ( Face * ,
Vector3d const & ,
bool ,
bool ,
Face *&  )

◆ negate()

Body & Body::negate ( void )

◆ next()

Body * Body::next ( void ) const

◆ operator&&() [1/2]

BodyInterferenceType Body::operator&& ( Body const & ) const

◆ operator&&() [2/2]

PointInBodyLocation Body::operator&& ( Point3d const & ) const

◆ operator*() [1/2]

Body Body::operator* ( Body const & )

◆ operator*() [2/2]

Body Body::operator* ( Transf3d const & )

◆ operator*=() [1/2]

Body & Body::operator*= ( Body const & )

◆ operator*=() [2/2]

Body & Body::operator*= ( Transf3d const & )

◆ operator+()

Body Body::operator+ ( Body const & )

◆ operator+=()

Body & Body::operator+= ( Body const & )

◆ operator-() [1/3]

Body Body::operator- ( Body const & )

◆ operator-() [2/3]

Body Body::operator- ( Plane const & )

◆ operator-() [3/3]

Body Body::operator- ( void )

◆ operator-=() [1/2]

Body & Body::operator-= ( Body const & )

◆ operator-=() [2/2]

Body & Body::operator-= ( Plane const & )

◆ operator=()

Body & Body::operator= ( Body const & )

◆ pickBody()

Body * Body::pickBody ( Point3d const & ,
double ,
HideIntegerTransform const &  ) const

◆ pickEdge()

Edge * Body::pickEdge ( Point3d const & ,
double ,
HideIntegerTransform const & ,
Body **  ) const

◆ pickFace()

Face * Body::pickFace ( Point3d const & ,
double ,
HideIntegerTransform const & ,
Body **  ) const

◆ pickVertex()

Vertex * Body::pickVertex ( Point3d const & ,
double ,
HideIntegerTransform const & ,
Body **  ) const

◆ pipe() [1/2]

static Body Body::pipe ( Line3d const & ,
double ,
double ,
int  )
static

◆ pipe() [2/2]

static Body Body::pipe ( Line3d const & ,
Vector3d const & ,
double ,
double ,
int  )
static

◆ pipeConic() [1/2]

static Body Body::pipeConic ( Line3d const & ,
double ,
double ,
double ,
double ,
int  )
static

◆ pipeConic() [2/2]

static Body Body::pipeConic ( Line3d const & ,
Vector3d const & ,
double ,
double ,
double ,
double ,
int  )
static

◆ planeIntersectsBody()

bool Body::planeIntersectsBody ( Plane const & ) const

◆ print()

void Body::print ( _iobuf * ) const

◆ pyramid()

static Body Body::pyramid ( Point3d const * const ,
PolygonVertexData ** const ,
int ,
Vector3d const & ,
Point3d const &  )
static

◆ rayIntersection() [1/2]

RayBodyIntersection Body::rayIntersection ( Line3d const & ,
double ,
Entity *&  ) const

◆ rayIntersection() [2/2]

RayBodyIntersection Body::rayIntersection ( Line3d const & ,
double ,
Entity *& ,
double &  ) const

◆ rectangleToCircleReducer()

static Body Body::rectangleToCircleReducer ( Point3d const & ,
Vector2d const & ,
Circle3d const & ,
int  )
static

◆ reducingElbow()

static Body Body::reducingElbow ( Point3d const & ,
Point3d const & ,
Point3d const & ,
double ,
double ,
int ,
int  )
static

◆ removeFace()

void Body::removeFace ( Face * )

◆ restore() [1/3]

static Body Body::restore ( _iobuf * )
static

◆ restore() [2/3]

static Body Body::restore ( SaveRestoreCallback * )
static

◆ restore() [3/3]

static Body Body::restore ( wchar_t const * )
static

◆ rotate()

Body & Body::rotate ( Line3d const & ,
double  )

◆ save() [1/3]

void Body::save ( _iobuf * ) const

◆ save() [2/3]

void Body::save ( SaveRestoreCallback * ) const

◆ save() [3/3]

void Body::save ( wchar_t const * ) const

◆ saveToSat() [1/3]

void Body::saveToSat ( _iobuf * ,
bool  ) const

◆ saveToSat() [2/3]

void Body::saveToSat ( SaveToSatCallback * ,
bool  ) const

◆ saveToSat() [3/3]

void Body::saveToSat ( wchar_t const * ,
bool  ) const

◆ scale() [1/2]

Body & Body::scale ( Point3d const & ,
double  )

◆ scale() [2/2]

Body & Body::scale ( Point3d const & ,
Vector3d const &  )

◆ section() [1/2]

void Body::section ( Plane const & ,
bool  )

◆ section() [2/2]

void Body::section ( Plane const & ,
Point3d const & ,
bool  )

◆ setAEFAndBEFFlags() [1/2]

void Body::setAEFAndBEFFlags ( bool )

◆ setAEFAndBEFFlags() [2/2]

void Body::setAEFAndBEFFlags ( void )

◆ setColor()

void Body::setColor ( Color )

◆ setCurveList()

void Body::setCurveList ( Curve * )

◆ setFaceList()

void Body::setFaceList ( Face * )

◆ setHiddenLineParams()

void Body::setHiddenLineParams ( HiddenLinesDisplay ,
bool ,
bool  )

◆ setInterval()

void Body::setInterval ( Interval3d const & )

◆ setNext()

void Body::setNext ( Body * )

◆ setSurfaceList()

void Body::setSurfaceList ( Surface * )

◆ setVertexList()

void Body::setVertexList ( Vertex * )

◆ skin()

static Body Body::skin ( Body ** const ,
int ,
bool ,
bool ,
MorphingMap ** ,
bool ,
bool  )
static

◆ slice()

bool Body::slice ( Plane const & ,
std::vector< Point3d, std::allocator< Point3d > > & ,
std::vector< int, std::allocator< int > > &  ) const

◆ sphere()

static Body Body::sphere ( Point3d const & ,
double ,
int  )
static

◆ stitchFaces()

void Body::stitchFaces ( bool ,
bool ,
bool  )

◆ stretch()

Body & Body::stretch ( Line3d const & )

◆ surfaceCount()

int Body::surfaceCount ( void ) const

◆ surfaceList()

Surface * Body::surfaceList ( void ) const

◆ tetrahedron()

static Body Body::tetrahedron ( Point3d const & ,
Point3d const & ,
Point3d const & ,
Point3d const &  )
static

◆ torus()

static Body Body::torus ( Line3d const & ,
double ,
double ,
int ,
int  )
static

◆ torus_extension()

static Body Body::torus_extension ( Line3d const & ,
double ,
double ,
int ,
int  )
static

◆ transform()

Body & Body::transform ( Transf3d const & )

◆ translate()

Body & Body::translate ( Vector3d const & )

◆ triangleCount()

int Body::triangleCount ( void ) const

◆ triangulate()

void Body::triangulate ( OutputTriangleCallback * ,
TriangulationType ,
bool  ) const

◆ triangulateAllFaces()

void Body::triangulateAllFaces ( void )

◆ triangulateDxf()

void Body::triangulateDxf ( wchar_t const * ,
TriangulationType ,
bool  ) const

◆ triangulateFace()

void Body::triangulateFace ( Face * )

◆ vertexCount()

int Body::vertexCount ( void ) const

◆ vertexList()

Vertex * Body::vertexList ( void ) const

◆ volume()

double Body::volume ( void ) const

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