CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
FacetModeler Namespace Reference

Classes

class  Attributes2D
 
class  BinaryStream
 
class  Body
 
class  BulgeSeg2D
 
class  CachedContour2DImpl
 
class  CachedContour2DImplData
 
class  CachedSeg2D
 
class  CommonSeg2DImpl
 
class  Cone
 
class  Contour2D
 
class  Contour2DTraversingReactor
 
class  Contour3D
 
class  ContourIntersector
 
class  Crossing
 
class  Cylinder
 
struct  DeviationParams
 
class  Edge
 
class  EdgeBodyIterator
 
class  EdgeFaceIterator
 
class  EdgeGraph
 
struct  EdgeImage
 
struct  EdgeSortForPairRegen
 
class  Entity
 
class  Face
 
struct  FaceData
 
struct  FaceImage
 
class  FaceIterator
 
class  FaceSpatialIndex
 
struct  FMGeGbl
 
struct  GraphEdgeData
 
class  IBulgeSeg2D
 
class  IContour2D
 
class  Intersection
 
class  IntersectionWithIDs
 
struct  LoopImage
 
struct  MdlTolerance
 
struct  PathNode
 
class  Profile2D
 
class  Profile2DBool
 
class  Profile2DBoundaryImpl
 
class  Profile3D
 
class  Revolution
 
class  Segment2D
 
class  SegmentMerger
 
class  ShadedSurface
 
class  SimpleContour2DImpl
 
class  SimpleContour2DImplData
 
class  SliceContour
 
class  SliceContourBuilder
 
class  SliceContourCollection
 
struct  SliceEdge
 
struct  SliceNode
 
class  Slicer
 
class  SlicerBaseImpl
 
struct  SpatialFaceData
 
class  Sphere
 
class  Surface
 
struct  TaggedData
 
class  TaggedDataHeap
 
class  TContour2DImpl
 
class  TListSet
 
class  Torus
 
struct  TrEdge
 
class  TrMeshSew
 
struct  TrVertex
 
class  Vertex
 
struct  VertexImage
 
class  VertexIterator
 
class  VertexSurfData
 
class  Wrapper3D
 

Typedefs

typedef OdUInt64 KeyType
 
typedef std::vector< LoopImageLoopImages
 
typedef std::vector< VertexImageVertexImages
 
typedef std::map< KeyType, EdgeImageEdgeImages
 
typedef std::vector< FaceImageFaceImages
 
typedef ptrdiff_t TagType
 
typedef OdArray< const Face *, OdMemoryAllocator< const Face * > > FaceConstPtrArray
 
typedef std::multimap< OdUInt32, SliceContourSliceContoursMap
 
typedef Profile2D ContoursVector
 
typedef std::vector< OdUInt32SliceNodes
 
typedef OdArray< Vertex *, OdMemoryAllocator< Vertex * > > VertexIndex
 
typedef OdArray< Face *, OdMemoryAllocator< Face * > > FacePtrArray
 

Enumerations

enum  Result {
  erOk = 0 , erWarnings , erWarnParamBounds , erWarnPointNotOnThis ,
  erWarnEmptyContour , erWarnSmallContour , erWarnImproperAreas , erWarnContourNotClosed ,
  erErrors = 0x1000 , erNotImplementedYet , erInvalidIndex , erParamBounds ,
  erPointNotOnThis , erInvalidTransform , erWrongSegType , erEmptyContour ,
  erSingularPoints , erNoMetadata , erInvalidArgs , erContourIsTooSmall ,
  erSelfIntersecting , erInvalidDirection , erContourNotClosed , erOperationNotApplicable ,
  erFailedToCloseContours , erImproperRegionBounds , erImproperRegionAreas , erToleranceViolation ,
  erFail , erLastError
}
 
enum  SegmentType { estUnknown = 0 , estLine , estArc , estCoincident }
 
enum  Locations { elUnknown = 0 , elInside , elOutside , elOnBound }
 
enum  MergeFlags { emfMergeArcs = 1 , emfIgnoreMetadata = 2 , emfMergeOrigin = 4 }
 
enum  FilletType { eftChamfer , eftTangents , eftExtend , eftCircular }
 
enum  ContourImplClass { ecicUnknown = 0 , ecicSimple , ecicCached , ecicLast }
 
enum  SegmentImplClass { esicUnknown = 0 , esicBulgeSeg2D , esicCachedSeg2D , esicLast }
 
enum  BooleanOperation { eUnion = 0 , eIntersection = 1 , eDifference = 2 , eXOR = 3 }
 
enum  Classification {
  eNo = 0 , eOn = 1 , eInner = 2 , eOuter = 3 ,
  eSpanning = 4
}
 
enum  FaceOrientation {
  efoDefault = 0x00 , efoTop = 0x01 , efoBottom = 0x02 , efoLeft = 0x04 ,
  efoRight = 0x08 , efoFront = 0x10 , efoBack = 0x20 , efoDiscard = 0x80
}
 
enum  FaceState { kInitialFaceState , kFaceToClone , kFaceToRemove , kProcessed }
 
enum  Operation {
  eExtrusion = 4 , eRevolution = 5 , eInsideBody = 6 , eInsideFrame = 7 ,
  eCustom = 8 , eTemporaryExtensionByTwoContours = 9 , eTemporaryExtensionExtrusionByTrs = 10 , eclone = 100 ,
  enegate , emergeCoincidentVertices , emergeCoplanarEntities , ecombine ,
  ebox , epyramid , eextrusion1 , eextrusion2 ,
  eextrusion3 , erevolution1 , erevolution2 , einsideBody ,
  einsideFrame , ecustomInternal , esection , ecutWithExtrusion ,
  ecutWithInfExtrusion , eextrude , eTemporary_Extension_byTwoContours , eTemporary_Extension_byTwoProfiles ,
  eTemporary_Extension_extrusionByTrs
}
 
enum  { kExtrudeClosedPath = 1 , kExtrudeSmoothAlongPath = 2 , kExtrudeSmoothAlongProfile = 4 , kExtrudeSingleArcProfile = 8 }
 

Functions

bool isOk (Result eRes)
 
bool isWarning (Result eRes)
 
bool isError (Result eRes)
 
FMGEOMETRY_API OdString GetBoolOperationName (BooleanOperation eOperation)
 
Result FMGEOMETRY_API GetProfileWithOffsetSegment (const Profile2D &rSrc, Profile2D &rDest, OdUInt32 uContour, OdUInt32 uSegment, double dNormalOffset)
 
void FMGEOMETRY_API DrawBody (OdGiCommonDraw *pDraw, const Body &rBody, const OdGeVector3d *pViewDir=NULL, bool bUseRGBColors=false, bool bUseMappingCoords=false)
 
FMGEOMETRY_API void MarkShadedSurfaces (Body &aBody, double angleTol, bool bDetectSharpEdges=false)
 
FMGEOMETRY_API void ClearShadedSurfaces (Body &aBody)
 
void MergeShadedSurfaces (Body &aBody, const OdArray< std::set< Surface * > > &shadedMergeData)
 
FMGEOMETRY_API Body extrusion (const Profile2D &rBase, const OdGeMatrix3d &mBasePlane, const OdGeVector3d &vDir, const DeviationParams &devDeviation=FMGeGbl::gDefDev)
 
FMGEOMETRY_API Body revolution (const Profile2D &base, const OdGeVector3d &revAxis, const OdGePoint3d &axisPosition, double startAng, double endAng, const DeviationParams &deviation=FMGeGbl::gDefDev)
 
OdUInt32 FLAG (OdUInt32 i)
 
Result worstResult (Result eRes1, Result eRes2)
 
FMGEOMETRY_API OdGePoint2d FindNearestPoint (const OdGePoint2d &ptOrigin, const std::vector< Intersection > &vecPoints)
 
FMGEOMETRY_API OdGePoint3d FindNearestPoint (const OdGePoint3d &ptOrigin, const std::vector< OdGePoint3d > &vecPoints)
 
FMGEOMETRY_API OdGePoint2d FindFarthestPoint (const OdGePoint2d &ptOrigin, const std::vector< Intersection > &vecPoints)
 
FMGEOMETRY_API OdUInt32 intersect_LineLine (const IBulgeSeg2D &rLine1, const IBulgeSeg2D &rLine2, Intersection &rInt1, Intersection &rInt2, const OdGeTol &gTol=FMGeGbl::gTol)
 
FMGEOMETRY_API OdUInt32 intersect_ArcLine (const IBulgeSeg2D &rArc, const IBulgeSeg2D &rLine, Intersection &rInt1, Intersection &rInt2, const OdGeTol &gTol=FMGeGbl::gTol)
 
FMGEOMETRY_API OdUInt32 intersect_ArcArc (const IBulgeSeg2D &rArc1, const IBulgeSeg2D &rArc2, Intersection &rInt1, Intersection &rInt2, const OdGeTol &gTol=FMGeGbl::gTol)
 
FMGEOMETRY_API OdUInt32 intersect_PointInfLine (const OdGePoint2d &rPoint, const OdGePoint2d &ptLineOrigin, const OdGeVector2d &vLineDir, Intersection &rInt1, const OdGeTol &gTol=FMGeGbl::gTol)
 
FMGEOMETRY_API OdUInt32 intersect_LineInfLine (const IBulgeSeg2D &rLineSeg, const OdGePoint2d &ptLineOrigin, const OdGeVector2d &vLineDir, Intersection &rInt1, Intersection &rInt2, const OdGeTol &gTol=FMGeGbl::gTol)
 
FMGEOMETRY_API OdUInt32 intersect_ArcInfLine (const IBulgeSeg2D &rArcSeg, const OdGePoint2d &ptLineOrigin, const OdGeVector2d &vLineDir, Intersection &rInt1, Intersection &rInt2, const OdGeTol &gTol=FMGeGbl::gTol)
 
Result fast_isSelfIntersecting (const IContour2D &rContour, const OdGeTol &gTol, bool &bIntersects)
 
Result fast_isValidRegion (const IContour2D &rContour, const OdGeTol &gTol, bool &bValidRegion)
 
Result fast_intersect (const IContour2D &rContA, const IContour2D &rContB, std::vector< Intersection > &vecPoints, const OdGeTol &gTol)
 
Result fast_getInternalPoint (const IContour2D &rContour, OdGePoint2d &rPoint, const OdGeTol &gTol)
 
void contour2d_mergeSegments (IContour2D &rContour, int iMergeFlags=0, const OdGeTol &gTol=FMGeGbl::gTol)
 
Attributes2DnullAttributesForUpdate ()
 
bool operator== (const SliceContour &c1, const SliceContour &c2)
 
FMGEOMETRY_API void ExtendContourStart (Contour2D &rContour)
 
FMGEOMETRY_API void ExtendContourEnd (Contour2D &rContour)
 
FMGEOMETRY_API void ExtendContour (Contour2D &rContour)
 
FMGEOMETRY_API double FindMinimumParamA (std::vector< Intersection > &vecPoints)
 
FMGEOMETRY_API double FindMaximumParamA (std::vector< Intersection > &vecPoints)
 
FMGEOMETRY_API bool FindClosestIntToBaseStart (const Contour2D &cBase, const Contour2D &cCutter, Intersection &intClosest)
 
FMGEOMETRY_API bool FindClosestIntToBaseEnd (const Contour2D &cBase, const Contour2D &cCutter, Intersection &intClosest)
 
FMGEOMETRY_API bool FindFarthestIntFromBasePt (const Contour2D &cContour, const OdGeLine2d &lnCutter, const OdGePoint2d &ptBase, Intersection &outInt)
 
FMGEOMETRY_API bool FindFarthestIntFromBasePt (const Contour2D &cContour, const Contour2D &cCutter, const OdGePoint2d &ptBase, Intersection &outInt)
 
FMGEOMETRY_API Intersection FindFarthestIntFromPt (const OdGePoint2d &ptBase, const std::vector< Intersection > &vecPoints)
 
FMGEOMETRY_API Intersection FindIntClosestToPt (const OdGePoint2d &ptBase, const std::vector< Intersection > &vecPoints)
 
FMGEOMETRY_API bool IsIntersectionCloserToPt (const OdGePoint2d &ptBase, const Intersection &intCurrent, const Intersection &intToCheck)
 
FMGEOMETRY_API Body extrude (const Profile2D &base, const DeviationParams &deviation, OdUInt32 n, const PathNode *path, OdUInt32 flags=0)
 
FMGEOMETRY_API void getBaseFaces (const Profile2D &rProfile, std::vector< Profile2D > &aBaseFaces, const DeviationParams &devDeviation)
 

Variables

const OdUInt32 AEF = FLAG(0)
 
const OdUInt32 VEF = FLAG(1)
 
const OdUInt32 VFF = FLAG(0)
 
const OdUInt32 OFF = FLAG(1)
 
const OdUInt32 SKIP_HATCH = FLAG(18)
 

Detailed Description

<group TA_Geometry>

Namespace for FacetModeler's entities.

Typedef Documentation

◆ ContoursVector

Definition at line 165 of file FMSliceContourBuilder.h.

◆ EdgeImages

Map of pointers and edge image entities.

Definition at line 116 of file FMDataSerialize.h.

◆ FaceConstPtrArray

Array of constant Face pointers

Definition at line 412 of file FMMdlFace.h.

◆ FaceImages

typedef std::vector<FaceImage> FacetModeler::FaceImages

Array of face image entities.

Definition at line 119 of file FMDataSerialize.h.

◆ FacePtrArray

Definition at line 184 of file FMSliceEngine.h.

◆ KeyType

Key type.

Definition at line 35 of file FMDataSerialize.h.

◆ LoopImages

typedef std::vector<LoopImage> FacetModeler::LoopImages

Array of loop image entities.

Definition at line 91 of file FMDataSerialize.h.

◆ SliceContoursMap

Definition at line 147 of file FMSliceContourBuilder.h.

◆ SliceNodes

typedef std::vector<OdUInt32> FacetModeler::SliceNodes

Definition at line 166 of file FMSliceContourBuilder.h.

◆ TagType

typedef ptrdiff_t FacetModeler::TagType

Tag type.

Definition at line 46 of file FMMdlBase.h.

◆ VertexImages

Array of vertex image entities.

Definition at line 113 of file FMDataSerialize.h.

◆ VertexIndex

Definition at line 183 of file FMSliceEngine.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
kExtrudeClosedPath 
kExtrudeSmoothAlongPath 
kExtrudeSmoothAlongProfile 
kExtrudeSingleArcProfile 

Definition at line 49 of file FMMdlUtils.h.

◆ BooleanOperation

Defines types of boolean operations.

Enumerator
eUnion 

Union operation.

eIntersection 

Intersection operation.

eDifference 

Difference operation.

eXOR 

XOR operation.

Definition at line 69 of file FMGeometry.h.

◆ Classification

Defines classification results.

Enumerator
eNo 

Unspecified.

eOn 

Lies on.

eInner 

Inner position.

eOuter 

Outer position.

eSpanning 

Spanning.

Definition at line 96 of file FMGeometry.h.

◆ ContourImplClass

Enumerator
ecicUnknown 
ecicSimple 
ecicCached 
ecicLast 

Definition at line 237 of file FMContoursBase.h.

◆ FaceOrientation

Defines face orientations.

Remarks
The default orientation is treated as efoFront. Should not be used.
Enumerator
efoDefault 

Default orientation.

efoTop 

Placed on the top side.

efoBottom 

Placed on the bottom side.

efoLeft 

Placed on the left side.

efoRight 

Placed on the right side.

efoFront 

Placed on the front side.

efoBack 

Placed on the back side.

efoDiscard 

Discarded orientation.

Definition at line 121 of file FMGeometry.h.

◆ FaceState

Enumerator
kInitialFaceState 
kFaceToClone 
kFaceToRemove 
kProcessed 

Definition at line 191 of file FMSliceEngine.h.

◆ FilletType

Defines gap filling strategy types for offset curve generation.

Enumerator
eftChamfer 

Close gaps with straight line segments

eftTangents 

Extend segments with tangential rays

eftExtend 

Extend segments with tangential rays or circular arcs, depending on segment types

eftCircular 

Close gaps with circular arcs

Definition at line 220 of file FMContoursBase.h.

◆ Locations

Defines possible object placement with respect to another object.

Enumerator
elUnknown 

Unknown

elInside 

Inside

elOutside 

Outside

elOnBound 

On bound

Definition at line 187 of file FMContoursBase.h.

◆ MergeFlags

Defines flags for the mergeSegments method.

Enumerator
emfMergeArcs 

Merge circular segments

emfIgnoreMetadata 

Merge segments with different metadata

emfMergeOrigin 

Merge first and last segments of a closed contour

Definition at line 205 of file FMContoursBase.h.

◆ Operation

Enumerator
eExtrusion 
eRevolution 
eInsideBody 
eInsideFrame 
eCustom 
eTemporaryExtensionByTwoContours 
eTemporaryExtensionExtrusionByTrs 
eclone 
enegate 
emergeCoincidentVertices 
emergeCoplanarEntities 
ecombine 
ebox 
epyramid 
eextrusion1 
eextrusion2 
eextrusion3 
erevolution1 
erevolution2 
einsideBody 
einsideFrame 
ecustomInternal 
esection 
ecutWithExtrusion 
ecutWithInfExtrusion 
eextrude 
eTemporary_Extension_byTwoContours 
eTemporary_Extension_byTwoProfiles 
eTemporary_Extension_extrusionByTrs 

Definition at line 39 of file FMGeometryImpl.h.

◆ Result

Defines possible result codes used in Contour2D and Profile2D classes.

Remarks
Warnings are in the range [erWarnings.. erErrors). Errors are greater than erErrors.
Enumerator
erOk 

No error

erWarnings 

Warning

erWarnParamBounds 

Parameter on contour is not valid

erWarnPointNotOnThis 

Input point or vector is not on this entity, but it should be

erWarnEmptyContour 

Contour is empty

erWarnSmallContour 

Contour is too small

erWarnImproperAreas 

Region/Profile contours are not valid

erWarnContourNotClosed 

A contour is not closed, but it should be

erErrors 

Error

erNotImplementedYet 

Not implemented

erInvalidIndex 

Array/Segment index is out of range

erParamBounds 

Parameter value is out of range

erPointNotOnThis 

Input point or vector is not on this entity

erInvalidTransform 

Invalid (singular) transformation matrix

erWrongSegType 

Wrong segment type, another type expected

erEmptyContour 

Contour is empty

erSingularPoints 

Some points are invalid

erNoMetadata 

Metadata is not available and/or can`t be updated

erInvalidArgs 

Some input parameters are completely invalid

erContourIsTooSmall 

Contour is too small

erSelfIntersecting 

Contour or profile is self-intersecting

erInvalidDirection 

Contour orientation is not applicable

erContourNotClosed 

A contour is not closed, but it should be

erOperationNotApplicable 

Operation is not applicable

erFailedToCloseContours 

Invalid result in area operation

erImproperRegionBounds 

Region/Profile is not valid in a regional operation

erImproperRegionAreas 

Region/Profile is not valid in a regional operation

erToleranceViolation 

Tolerance is too small, or input contours are singular

erFail 

Unknown error

erLastError 

Last error

Definition at line 40 of file FMContoursBase.h.

◆ SegmentImplClass

Enumerator
esicUnknown 
esicBulgeSeg2D 
esicCachedSeg2D 
esicLast 

Definition at line 245 of file FMContoursBase.h.

◆ SegmentType

Defines types of segments.

Enumerator
estUnknown 

Unknown type

estLine 

Straight segment with length greater than 0

estArc 

Arc segment with length greater than 0

estCoincident 

Segment with 0 length

Definition at line 169 of file FMContoursBase.h.

Function Documentation

◆ ClearShadedSurfaces()

FMGEOMETRY_API void FacetModeler::ClearShadedSurfaces ( Body aBody)

Deletes all the shaded surfaces for the given Body.

Parameters
aBody[inout] Body to process.

◆ contour2d_mergeSegments()

void FacetModeler::contour2d_mergeSegments ( IContour2D rContour,
int  iMergeFlags = 0,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ DrawBody()

void FMGEOMETRY_API FacetModeler::DrawBody ( OdGiCommonDraw pDraw,
const Body rBody,
const OdGeVector3d pViewDir = NULL,
bool  bUseRGBColors = false,
bool  bUseMappingCoords = false 
)

Draws the specified body to OdGiCommonDraw with the view direction specified.

Parameters
pDraw[in/out] Object to draw on.
rBody[in] Body to draw.
pViewDir[in] View direction vector for calculating silhouettes as OdGeVector3d.
bUseRGBColors[in] Defines whether the colors format of this Body is RGB (Arhitecture uses color indices)
bUseMappingCoords[in] Defines whether mapping coordinates of vertices will be set to VertexData

◆ ExtendContour()

FMGEOMETRY_API void FacetModeler::ExtendContour ( Contour2D rContour)

◆ ExtendContourEnd()

FMGEOMETRY_API void FacetModeler::ExtendContourEnd ( Contour2D rContour)

◆ ExtendContourStart()

FMGEOMETRY_API void FacetModeler::ExtendContourStart ( Contour2D rContour)

◆ extrude()

FMGEOMETRY_API Body FacetModeler::extrude ( const Profile2D base,
const DeviationParams deviation,
OdUInt32  n,
const PathNode path,
OdUInt32  flags = 0 
)

◆ extrusion()

FMGEOMETRY_API Body FacetModeler::extrusion ( const Profile2D rBase,
const OdGeMatrix3d mBasePlane,
const OdGeVector3d vDir,
const DeviationParams devDeviation = FMGeGbl::gDefDev 
)

◆ fast_getInternalPoint()

Result FacetModeler::fast_getInternalPoint ( const IContour2D rContour,
OdGePoint2d rPoint,
const OdGeTol gTol 
)

◆ fast_intersect()

Result FacetModeler::fast_intersect ( const IContour2D rContA,
const IContour2D rContB,
std::vector< Intersection > &  vecPoints,
const OdGeTol gTol 
)

◆ fast_isSelfIntersecting()

Result FacetModeler::fast_isSelfIntersecting ( const IContour2D rContour,
const OdGeTol gTol,
bool &  bIntersects 
)

◆ fast_isValidRegion()

Result FacetModeler::fast_isValidRegion ( const IContour2D rContour,
const OdGeTol gTol,
bool &  bValidRegion 
)

◆ FindClosestIntToBaseEnd()

FMGEOMETRY_API bool FacetModeler::FindClosestIntToBaseEnd ( const Contour2D cBase,
const Contour2D cCutter,
Intersection intClosest 
)

◆ FindClosestIntToBaseStart()

FMGEOMETRY_API bool FacetModeler::FindClosestIntToBaseStart ( const Contour2D cBase,
const Contour2D cCutter,
Intersection intClosest 
)

◆ FindFarthestIntFromBasePt() [1/2]

FMGEOMETRY_API bool FacetModeler::FindFarthestIntFromBasePt ( const Contour2D cContour,
const Contour2D cCutter,
const OdGePoint2d ptBase,
Intersection outInt 
)

◆ FindFarthestIntFromBasePt() [2/2]

FMGEOMETRY_API bool FacetModeler::FindFarthestIntFromBasePt ( const Contour2D cContour,
const OdGeLine2d lnCutter,
const OdGePoint2d ptBase,
Intersection outInt 
)

◆ FindFarthestIntFromPt()

FMGEOMETRY_API Intersection FacetModeler::FindFarthestIntFromPt ( const OdGePoint2d ptBase,
const std::vector< Intersection > &  vecPoints 
)

◆ FindFarthestPoint()

FMGEOMETRY_API OdGePoint2d FacetModeler::FindFarthestPoint ( const OdGePoint2d ptOrigin,
const std::vector< Intersection > &  vecPoints 
)

◆ FindIntClosestToPt()

FMGEOMETRY_API Intersection FacetModeler::FindIntClosestToPt ( const OdGePoint2d ptBase,
const std::vector< Intersection > &  vecPoints 
)

◆ FindMaximumParamA()

FMGEOMETRY_API double FacetModeler::FindMaximumParamA ( std::vector< Intersection > &  vecPoints)

◆ FindMinimumParamA()

FMGEOMETRY_API double FacetModeler::FindMinimumParamA ( std::vector< Intersection > &  vecPoints)

◆ FindNearestPoint() [1/2]

FMGEOMETRY_API OdGePoint2d FacetModeler::FindNearestPoint ( const OdGePoint2d ptOrigin,
const std::vector< Intersection > &  vecPoints 
)

◆ FindNearestPoint() [2/2]

FMGEOMETRY_API OdGePoint3d FacetModeler::FindNearestPoint ( const OdGePoint3d ptOrigin,
const std::vector< OdGePoint3d > &  vecPoints 
)

◆ FLAG()

OdUInt32 FacetModeler::FLAG ( OdUInt32  i)
inline

Gets a bit mask for the flag by its index.

Parameters
i[in] Index of the flag.
Returns
Bit mask as an OdUInt32 value.

Definition at line 38 of file FMMdlEntity.h.

◆ getBaseFaces()

FMGEOMETRY_API void FacetModeler::getBaseFaces ( const Profile2D rProfile,
std::vector< Profile2D > &  aBaseFaces,
const DeviationParams devDeviation 
)

◆ GetBoolOperationName()

FMGEOMETRY_API OdString FacetModeler::GetBoolOperationName ( BooleanOperation  eOperation)

Returns a name by the specified type of boolean operations.

Parameters
eOperation[in] Boolean operation type from BooleanOperation enumeration.
Returns
Name of operation as OdString object.

◆ GetProfileWithOffsetSegment()

Result FMGEOMETRY_API FacetModeler::GetProfileWithOffsetSegment ( const Profile2D rSrc,
Profile2D rDest,
OdUInt32  uContour,
OdUInt32  uSegment,
double  dNormalOffset 
)

◆ intersect_ArcArc()

FMGEOMETRY_API OdUInt32 FacetModeler::intersect_ArcArc ( const IBulgeSeg2D rArc1,
const IBulgeSeg2D rArc2,
Intersection rInt1,
Intersection rInt2,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ intersect_ArcInfLine()

FMGEOMETRY_API OdUInt32 FacetModeler::intersect_ArcInfLine ( const IBulgeSeg2D rArcSeg,
const OdGePoint2d ptLineOrigin,
const OdGeVector2d vLineDir,
Intersection rInt1,
Intersection rInt2,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ intersect_ArcLine()

FMGEOMETRY_API OdUInt32 FacetModeler::intersect_ArcLine ( const IBulgeSeg2D rArc,
const IBulgeSeg2D rLine,
Intersection rInt1,
Intersection rInt2,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ intersect_LineInfLine()

FMGEOMETRY_API OdUInt32 FacetModeler::intersect_LineInfLine ( const IBulgeSeg2D rLineSeg,
const OdGePoint2d ptLineOrigin,
const OdGeVector2d vLineDir,
Intersection rInt1,
Intersection rInt2,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ intersect_LineLine()

FMGEOMETRY_API OdUInt32 FacetModeler::intersect_LineLine ( const IBulgeSeg2D rLine1,
const IBulgeSeg2D rLine2,
Intersection rInt1,
Intersection rInt2,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ intersect_PointInfLine()

FMGEOMETRY_API OdUInt32 FacetModeler::intersect_PointInfLine ( const OdGePoint2d rPoint,
const OdGePoint2d ptLineOrigin,
const OdGeVector2d vLineDir,
Intersection rInt1,
const OdGeTol gTol = FMGeGbl::gTol 
)

◆ isError()

bool FacetModeler::isError ( Result  eRes)
inline

Checks whether the result is an error.

Parameters
eRes[in] Value to check.
Returns
true if the value is an error, or false otherwise.

Definition at line 161 of file FMContoursBase.h.

◆ IsIntersectionCloserToPt()

FMGEOMETRY_API bool FacetModeler::IsIntersectionCloserToPt ( const OdGePoint2d ptBase,
const Intersection intCurrent,
const Intersection intToCheck 
)

◆ isOk()

bool FacetModeler::isOk ( Result  eRes)
inline

Checks whether the result is an error.

Parameters
eRes[in] Value to check.
Returns
true if the value is not an error, or false otherwise.

Definition at line 139 of file FMContoursBase.h.

◆ isWarning()

bool FacetModeler::isWarning ( Result  eRes)
inline

Checks whether the result is a warning.

Parameters
eRes[in] Value to check.
Returns
true if the value is a warning, or false otherwise.

Definition at line 150 of file FMContoursBase.h.

◆ MarkShadedSurfaces()

FMGEOMETRY_API void FacetModeler::MarkShadedSurfaces ( Body aBody,
double  angleTol,
bool  bDetectSharpEdges = false 
)

Creates shaded surfaces for the given Body.

Parameters
aBody[inout] Body to process.
angleTol[in] The angle to detect the crease between faces.
bDetectSharpEdges[in] The flag to perform additional sharp edges detection for better quality.
Remarks
Shaded surfaces allow to calculate vertex normals for shaded rendering of the Body. This function finds 'smooth' areas of the Body and marks them with the common shaded surface.

◆ MergeShadedSurfaces()

void FacetModeler::MergeShadedSurfaces ( Body aBody,
const OdArray< std::set< Surface * > > &  shadedMergeData 
)

Merges together different shaded surfaces of the given Body. Replaces surfaces from the set with the first surface.

Parameters
aBody[inout] Body to process.
shadedMergeData[in] The set of surfaces to be merged.

◆ nullAttributesForUpdate()

Attributes2D & FacetModeler::nullAttributesForUpdate ( )

◆ operator==()

bool FacetModeler::operator== ( const SliceContour c1,
const SliceContour c2 
)

◆ revolution()

FMGEOMETRY_API Body FacetModeler::revolution ( const Profile2D base,
const OdGeVector3d revAxis,
const OdGePoint3d axisPosition,
double  startAng,
double  endAng,
const DeviationParams deviation = FMGeGbl::gDefDev 
)

◆ worstResult()

Result FacetModeler::worstResult ( Result  eRes1,
Result  eRes2 
)
inline

Definition at line 32 of file FMContoursBaseImp.h.

Variable Documentation

◆ AEF

const OdUInt32 FacetModeler::AEF = FLAG(0)

Silhouette edge flag

Definition at line 33 of file FMMdlEdge.h.

◆ OFF

const OdUInt32 FacetModeler::OFF = FLAG(1)

OFF flag

Definition at line 35 of file FMMdlFace.h.

◆ SKIP_HATCH

const OdUInt32 FacetModeler::SKIP_HATCH = FLAG(18)

Show or hide surface hatch

Definition at line 37 of file FMMdlFace.h.

◆ VEF

const OdUInt32 FacetModeler::VEF = FLAG(1)

Invisible edge flag

Definition at line 35 of file FMMdlEdge.h.

◆ VFF

const OdUInt32 FacetModeler::VFF = FLAG(0)

Visibility flag

Definition at line 33 of file FMMdlFace.h.