C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
Polygon. More...
#include <mesh_primitive.h>
Public Member Functions | |
MbPolygon3D () | |
Constructor without parameters. | |
virtual | ~MbPolygon3D () |
Destructor. | |
MbePrimitiveType | Type () const override |
Get the object type. | |
double | DistanceToPoint (const MbCartPoint3D &) const override |
Calculate distance to point. | |
double | DistanceToLine (const MbAxis3D &, double extDistance, double &t) const override |
Calculate the distance to the axis. | |
void | GetPoints (std::vector< MbCartPoint3D > &pnts) const |
Get all the points of the polygon. | |
void | GetPoints (std::vector< MbFloatPoint3D > &pnts) const |
Get all the points of the polygon. | |
Functions of polygon. | |
virtual size_t | SizeOf () const =0 |
Get the size of taken memory. | |
virtual void | Reserve (size_t cnt)=0 |
Reserve memory for polygon. | |
virtual void | Adjust ()=0 |
Free the unnecessary memory. | |
virtual void | Flush ()=0 |
Clear the polygon by deleting all the points. | |
virtual size_t | Count () const =0 |
Get count of points. | |
virtual void | AddPoint (const MbCartPoint3D &dpnt)=0 |
Add point to the end of the polygon. | |
virtual void | AddPoint (const MbFloatPoint3D &fpnt)=0 |
Add point to the end of the polygon. | |
virtual void | GetPoint (size_t i, MbCartPoint3D &) const =0 |
Get point by its index. | |
virtual void | GetPoint (size_t i, MbFloatPoint3D &) const =0 |
Get point by its index. | |
virtual void | SetPoint (size_t i, MbCartPoint3D &)=0 |
Set point by index. | |
virtual bool | IsPlanar (MbPlacement3D &plane, double metricAccuracy=Math::metricRegion) const =0 |
virtual bool | GetPlanePolygon (MbPlacement3D &plane, MbPolygon &poly) const =0 |
If points of polygon lie on the same plane, then initialize 'plane' and fill the 'poly' polygon. | |
virtual bool | IsComplete () const =0 |
Check existence of points in object. | |
const MbStepData & | GetStepData () const |
Get the parameter of triangulation calculation. | |
void | SetStepData (const MbStepData &stData) |
Set the parameter of triangulation calculation. | |
void | SetStepBySag (double s) |
Set the parameter of polygon calculation (sag or angle of deviation). | |
virtual void | AddPolygon (const MbPolygon3D &)=0 |
Add a polygon to the polygon with removing the coincident points of joint. | |
virtual void | operator+= (const MbPolygon3D &)=0 |
Add a polygon to the polygon with removing the coincident points of joint. | |
virtual bool | IsSame (const MbPolygon3D &, double eps) const =0 |
Determine whether objects are equal. | |
virtual void | Init (const MbPolygon3D &)=0 |
Init by other polygon. | |
virtual MbPolyline3D * | CreatePolyline () const =0 |
Create a polyline on the base of the polygon. | |
virtual void | Reverse ()=0 |
Reverse the sequence of points. | |
![]() | |
virtual | ~MbPrimitive () |
Destructor. | |
virtual MbePrimitiveType | IsA () const =0 |
MbeRefType | RefType () const override |
Registration type (for copying, duplication). | |
virtual MbPrimitive & | Duplicate (MbRegDuplicate *iReg=nullptr) const |
Create a copy of primitive. More... | |
virtual SPtr< MbPrimitive > | Clone (MbRegDuplicate *iReg=nullptr) const =0 |
Create a copy of primitive. More... | |
virtual void | Transform (const MbMatrix3D &matr)=0 |
Transform primitive according to the matrix. More... | |
virtual void | Move (const MbVector3D &to)=0 |
Move primitive along a vector. More... | |
virtual void | Rotate (const MbAxis3D &axis, double angle)=0 |
Rotate primitive about an axis by a given angle. More... | |
MbeImplicationType | ImplicationType () const override |
Get attribute container type. | |
virtual void | AddYourGabaritTo (MbCube &r) const =0 |
Extend given bounding box so that it encloses the given object. | |
virtual void | GetProperties (MbProperties &)=0 |
Get properties of the object. | |
virtual void | SetProperties (const MbProperties &)=0 |
Set properties of the object. | |
SimpleName | GetPrimitiveName () const |
void | SetPrimitiveName (SimpleName n) |
const MbName & | GetName () const |
Get name of object. | |
MbName & | SetName () |
Get name of object for modification. | |
SimpleName | GetFirstName () const |
Get first name. | |
SimpleName | GetNameHash () const |
Get hash of name. | |
void | SetName (const MbName &n) |
Set name. | |
const MbRefItem * | GetItem () const |
Get begetter object of primitive. | |
void | SetItem (const MbRefItem *g) |
Set begetter object of primitive. | |
MbeRefType | GetPrimitiveType () const |
Get type of object. | |
void | SetPrimitiveType (MbeRefType t) |
Set type of object. | |
bool | NearestType (MbeSpaceType sType, MbeTopologyType tType, MbePlaneType pType) const |
Does the primitive satisfy the nearest object search criteria? | |
const MbSpaceItem * | SpaceItem () const |
Get spatial object for which the primitive is constructed. | |
const MbPlaneItem * | PlaneItem () const |
Get two-dimensional object for which the primitive is constructed. | |
const MbTopItem * | TopItem () const |
Get the topological object for which the primitive is constructed. | |
const MbItem * | Item () const |
Get geometric model object for which the primitive is constructed. | |
void | PrimitiveRead (reader &) |
Reading of primitive from the stream. | |
void | PrimitiveWrite (writer &) const |
Writing of primitive to the stream. | |
![]() | |
MbAttributeContainer () | |
Constructor without parameters. | |
MbAttributeContainer (MbAttribute &) | |
Constructor by attribute. | |
virtual | ~MbAttributeContainer () |
Destructor. | |
void | AttributesRead (reader &) |
Read attributes from stream. | |
void | AttributesWrite (writer &) const |
Writing attributes to stream. | |
void | GetProperties (MbProperties &) |
Get properties of attributes. | |
void | SetProperties (const MbProperties &) |
Set properties of attributes. | |
void | SetDensity (double) |
Set density of an object. | |
double | GetDensity () const |
Get density of an object. | |
void | SetVisual (float a, float d, float sp, float sh, float t, float e, uint rgb=0) |
Set visual properties of the object. | |
void | SetVisual (const MbRGBA &ambient, const MbRGBA &diffuse, const MbRGBA &specular, const MbRGBA &emission, uint8 shininess, uint8 opacity, uint8 chrom) |
Set visual properties of the object. | |
bool | GetVisual (float &a, float &d, float &sp, float &sh, float &t, float &e, uint rgb=0) const |
Get visual properties of the object. More... | |
bool | IsColored () const |
void | SetColor (uint32) |
Change color of the object. | |
void | SetColor (int R, int G, int B) |
Change color of the object (0-255). | |
uint32 | GetColor () const |
Get color of an object. | |
void | SetWidth (int) |
Set thickness of lines for object's representation. | |
int | GetWidth () const |
Get thickness of lines for object's representation. | |
void | SetStyle (int) |
Set style of lines for object's representation. | |
int | GetStyle () const |
Get style of lines for object's representation. | |
void | SetSelected (bool s=true) |
To allocate or not to allocate an object. | |
bool | IsSelected () const |
Is the object selected. | |
bool | ReverseSelected () |
Invert object selection. | |
void | SetChanged (bool c=true) |
Set: the object is changed or isn't changed. | |
bool | IsChanged () const |
Is the object changed? | |
void | SetVisible (bool) |
Set visibility. | |
bool | IsVisible () const |
Is the object visible? | |
bool | IsInvisible () const |
Is the object invisible? | |
void | AttributesAssign (const MbAttributeContainer &) |
Duplicate attributes of a given object, release existing attributes. | |
size_t | AttributesCount () const |
Get the number of objects. | |
bool | RemoveAttributes (bool onDeleteOwner=false) |
Delete all attributes from container. | |
MbAttribute * | AddAttribute (MbAttribute *attr, bool checkSame=true) |
Add attribute in container. More... | |
MbAttribute * | AddAttribute (const MbAttribute &attr, bool checkSame=true) |
Add attribute in container (adds a copy of the attribute if it can be added). More... | |
void | GetAttributes (c3d::AttrVector &attrs, MbeAttributeType aFamily, MbeAttributeType subType) const |
Get attributes of a given type or family. More... | |
void | GetAttributes (c3d::AttrVector &attrs, MbeAttributeType aType) const |
Get attributes of a given type. More... | |
template<class AttrVector > | |
void | GetAttributes (AttrVector &attrs) const |
Get attributes. More... | |
void | GetCommonAttributes (c3d::AttrVector &, const c3d::string_t &samplePrompt, MbeAttributeType subType=at_Undefined, bool firstFound=false) const |
Get attributes using sample of description string. | |
void | GetStringAttributes (c3d::AttrVector &, const c3d::string_t &sampleContent) const |
Get string attributes using sample of contents of the string. | |
bool | RemoveAttribute (const MbAttribute *, bool checkAccuracySame=false, double accuracy=LENGTH_EPSILON) |
Get an attribute of a given type, the first one is returned if there are many. More... | |
bool | RemoveAttributes (MbeAttributeType type, MbeAttributeType subType) |
Delete attributes of a given type. | |
const MbAttribute * | GetSimpleAttribute (MbeAttributeType) const |
Get a simple attribute of a given subtype. | |
MbAttribute * | SetSimpleAttribute (MbeAttributeType) |
Get a simple attribute of a given subtype. | |
MbAttribute * | SetSimpleAttribute (MbAttribute *simpAttr) |
Set a simple attribute of a given subtype. | |
MbAttribute * | SetSimpleAttribute (const MbAttribute &simpAttr) |
Set a simple attribute of a given subtype (always copies the attribute). | |
void | RemoveSimpleAttribute (MbeAttributeType) |
Delete simple attributes (one or more) of a given subtype. | |
MbAttribute * | DetachSimpleAttribute (MbeAttributeType) |
Detach a simple attribute of a given subtype. | |
void | GetUserAttributes (std::vector< MbUserAttribute * > &attrs, const MbUserAttribType &type) const |
Get a user attribute of a given subtype. | |
void | RemoveUserAttributes (const MbUserAttribType &type) |
Delete user attributes (one or more) of a given subtype. | |
void | DetachUserAttributes (std::vector< MbUserAttribute * > &attrs, const MbUserAttribType &type) |
Detach a user attribute of a given subtype. | |
void | AttributesChange () |
Perform actions when changing the attributes. | |
void | AttributesConvert (MbAttributeContainer &other) const |
Perform actions when converting the attributes. | |
void | AttributesTransform (const MbMatrix3D &, MbRegTransform *=nullptr) |
Perform actions when transforming the attributes. | |
void | AttributesMove (const MbVector3D &, MbRegTransform *=nullptr) |
Perform actions when moving the attributes. | |
void | AttributesRotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr) |
Perform actions when rotating the attributes. | |
void | AttributesCopy (MbAttributeContainer &other, MbRegDuplicate *=nullptr) const |
Perform actions when copying the attributes. | |
void | AttributesMerge (MbAttributeContainer &other) |
Perform actions when merging the attributes. | |
void | AttributesReplace (MbAttributeContainer &other) |
Perform actions when replacing the attributes. | |
void | AttributesSplit (const std::vector< MbAttributeContainer * > &others) |
Perform actions when splitting the attributes. | |
void | AttributesDelete () |
Perform actions when deleting the attributes. | |
![]() | |
refcount_t | GetUseCount () const |
Get count of references (get count of owners of an object). | |
refcount_t | AddRef () const |
Increase count of references by one. | |
refcount_t | DecRef () const |
Decrease count of references by one. | |
refcount_t | Release () const |
Decrease count of references by one and if count of references became zero, then remove itself. | |
![]() | |
void | Lock () const |
Switch lock on (locking happens only in parallel region). | |
void | Unlock () const |
Switch lock off if locking has been set. | |
CommonRecursiveMutex * | GetLock () const |
Get a pointer to the mutex object. Return nullptr if no parallelism. For use in ScopedLock. | |
Protected Member Functions | |
MbPolygon3D (const MbPolygon3D &, MbRegDuplicate *) | |
Copy-constructor with the registrator. | |
![]() | |
MbPrimitive (const MbPrimitive &, MbRegDuplicate *iReg) | |
Copy-constructor with the registrator. | |
MbPrimitive () | |
Constructor without parameters. | |
![]() | |
MbAttributeContainer (const MbAttributeContainer &, MbRegDuplicate *) | |
Copy-constructor with the registrator. | |
![]() | |
MbRefItem () | |
Constructor without parameters. | |
Protected Attributes | |
MbStepData | stepData |
Parameters of polygon calculation (sag or angle of deviation). | |
MbCube | cube |
Bounding box of a polygon (not read from stream and not written to stream). More... | |
![]() | |
MbName | name |
Name of primitive. | |
const MbRefItem * | parentItem |
Begetter object (don't own). | |
MbeRefType | type |
Type of primitive. | |
Additional Inherited Members | |
![]() | |
static MbUserAttribute * | ReduceUserAttrib (const MbExternalAttribute &) |
Convert user attribute to "system" one. | |
static MbExternalAttribute * | AdvanceUserAttrib (const MbUserAttribute &) |
Convert "system" attribute to user one. | |
Polygon.
Polygon is an ordered set of points in space, sequential connection of these points produces polyline that approximates an object or part of an object.
|
pure virtual |
Check whether all points of polygon lie on the same plane with the given metricAccuracy accuracy. if so, then initialize 'plane' plane.
Implemented in MbFloatPolygon3D, and MbExactPolygon3D.
|
mutableprotected |
Bounding box of a polygon (not read from stream and not written to stream).
Bounding box of object is calculated only at the request. Bounding box of object is undefined after object constructor and after object modifications