C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
The polygonal geometric object - Mesh. More...
#include <mesh.h>
Public Member Functions | |
MbMesh (bool _exact=false, const MbCreator *=nullptr) | |
Constructor without parameters. | |
MbMesh (bool _exact, const RPArray< MbCreator > &) | |
Constructor without parameters. | |
MbMesh (bool _exact, const c3d::CreatorsSPtrVector &) | |
Constructor without parameters. | |
virtual | ~MbMesh () |
Destructor. | |
MbeSpaceType | IsA () const override |
Get the type of the object. | |
MbSpaceItem & | Duplicate (MbRegDuplicate *=nullptr) const override |
Create a copy of the object. More... | |
void | Transform (const MbMatrix3D &, MbRegTransform *=nullptr) override |
Convert the object according to the matrix. More... | |
void | Move (const MbVector3D &, MbRegTransform *=nullptr) override |
Move an object along a vector. More... | |
void | Rotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr) override |
Rotate an object around an axis at a given angle. More... | |
bool | IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const override |
Determine whether an object is equal. More... | |
bool | SetEqual (const MbSpaceItem &init) override |
Make objects equal if they are similar. More... | |
double | DistanceToPoint (const MbCartPoint3D &) const override |
Determine the distance to the point. More... | |
void | AddYourGabaritTo (MbCube &r) const override |
Expand sent bounding box (a.k.a. gabarit), so that it included the object. More... | |
void | CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const override |
To compute bounding box in a local coordinate system. More... | |
void | CalculateMesh (const MbStepData &stepData, const MbFormNote ¬e, MbMesh &mesh) const override |
Build polygonal copy mesh. More... | |
MbProperty & | CreateProperty (MbePrompt n) const override |
Create your own property with the name. | |
void | GetProperties (MbProperties &properties) override |
Outstanding properties of the object. More... | |
void | SetProperties (const MbProperties &properties) override |
Change the properties of an object. More... | |
void | GetBasisItems (RPArray< MbSpaceItem > &) override |
Outstanding reference objects in a container sent. | |
void | GetBasisPoints (MbControlData3D &) const override |
Get control points of object. | |
void | SetBasisPoints (const MbControlData3D &) override |
Change the object by control points. | |
bool | GetCreators (RPArray< MbCreator > &creators) const override |
Add your own creators to the given array. | |
bool | GetCreators (c3d::CreatorsSPtrVector &creators) const override |
Add your own creators to the given array. | |
bool | RebuildItem (MbeCopyMode sameShell, RPArray< MbSpaceItem > *items, IProgressIndicator *progInd) override |
Reconstruct object according to the history tree. | |
MbItem * | CreateMesh (const MbStepData &stepData, const MbFormNote ¬e, MbRegDuplicate *iReg) const override |
Create polygonal object. More... | |
bool | AddYourMesh (const MbStepData &stepData, const MbFormNote ¬e, MbMesh &mesh) const override |
Add polygonal object. More... | |
MbItem * | CutMesh (const MbPlacement3D &cutPlace, double distance, const MbSNameMaker *=nullptr) const override |
Cut the polygonal object by one or two parallel planes. More... | |
bool | NearestMesh (MbeSpaceType sType, MbeTopologyType tType, MbePlaneType pType, const MbAxis3D &axis, double maxDistance, bool gridPriority, double &t, double &dMin, MbItem *&find, SimpleName &findName, MbRefItem *&element, SimpleName &elementName, MbPath &path, MbMatrix3D &from) const override |
Find the nearest object or name of the nearest object. More... | |
bool | LineIntersection (const MbFloatAxis3D &line, MbFloatPoint3D &crossPnt, float &tRes) |
Find the intersection of a straight line with the polygonal object. More... | |
double | FindNearest (const MbCartPoint3D &pnt, MbCartPoint3D &pntProj, size_t &iGrid, c3d::IndicesPair &tqInd) const |
Find index of triangle or quadrangle which is closest to a point. More... | |
void | CreateGridSearchTrees (bool forcedNew=false) |
Create elements search tree. More... | |
void | DeleteGridSearchTrees () |
Delete elements search tree. More... | |
MbMeshTopology * | CreateMeshTopology (bool keepExisting) const |
Create new temporary maintenance object information about polygonal object topology. | |
const MbMeshTopology * | GetMeshTopology () const |
Get temporary maintenance object information about polygonal object topology. | |
void | ResetMeshTopology () const |
Delete a information about polygonal object topology. | |
void | UpdateByMeshTopology () |
Initialize by polygonal object topology. | |
Function of polygonal object. | |
bool | IsAPointMesh () const |
Whether the polygonal object is approximation of point. | |
bool | IsACurveMesh () const |
Whether the polygonal object is approximation of curve. | |
bool | IsASurfaceMesh () const |
Whether the polygonal object is approximation of surface. | |
bool | IsASolidMesh () const |
Whether the polygonal object is approximation of solid. | |
bool | IsComplete () const |
Whether containers of mesh contain data. | |
void | GridsReserve (size_t cnt, bool fill=false) |
Reserve space for the plates. | |
void | PolygonsReserve (size_t cnt) |
Reserve space for the polygons. | |
void | ApexReserve (size_t cnt) |
Reserve space for the apexes. | |
void | Flush () |
Set object data to null. | |
void | Adjust () |
Free the unnecessary memory. | |
size_t | GridsCount () const |
Get the number of triangulations. | |
void | AddGrid (MbGrid &gr) |
Add triangulation. | |
MbGrid * | AddGrid () |
Add new empty triangulation and give it to fill. | |
MbGrid * | DetachGrid (size_t i) |
Detach triangulation with a given number. | |
template<class GridsVector > | |
void | DetachAllGrids (GridsVector &gridsVector) |
Detach all triangulations. | |
const MbGrid * | GetGrid (size_t i) const |
Return pointer to triangulation by it number. | |
MbGrid * | SetGrid (size_t i) |
Return the pointer to triangulation by its number to be modified. | |
template<class GridsVector > | |
void | GetGrids (GridsVector &gridsVector) const |
Get pointers to triangulations. | |
template<class Point , class PointsVector > | |
void | GetGridsPoints (PointsVector &points) const |
Get all triangulations points. | |
size_t | PolygonsCount () const |
Get the number of polygons. | |
void | AddPolygon (MbPolygon3D &) |
Add polygon. | |
MbPolygon3D * | AddPolygon () |
Add new empty polygon and give it to fill. | |
MbPolygon3D * | DetachPolygon (size_t i) |
Detach polygon with a given number. | |
template<class PolygonsVector > | |
void | DetachAllPolygons (PolygonsVector &polyVector) |
Detach all polygons. | |
const MbPolygon3D * | GetPolygon (size_t i) const |
Return the pointer to polygon by its number. | |
MbPolygon3D * | SetPolygon (size_t i) |
Return the pointer to polygon by its number. | |
template<class PolygonsVector > | |
void | GetPolygons (PolygonsVector &polyVector) const |
Get pointers to polygons. | |
size_t | ApexesCount () const |
Get the number of apexes. | |
void | AddApex (MbApex3D &ap) |
Add new apex. | |
MbApex3D * | AddApex () |
Add new empty apex and give it to fill. | |
MbApex3D * | DetachApex (size_t i) |
Detach apex with a given number. | |
template<class ApexesVector > | |
void | DetachAllApexes (ApexesVector &peakVector) |
Detach all apexes. | |
const MbApex3D * | GetApex (size_t i) const |
Return the pointer to apex by its number. | |
MbApex3D * | SetApex (size_t i) |
Return the pointer to apex by its number to be modified. | |
template<class ApexesVector > | |
void | GetApexes (ApexesVector &peakVector) const |
Get pointers to apexes. | |
MbMesh * | CreateMeshByExistingItem (const MbRefItem &) const |
void | InitMesh (const MbMesh &) |
Initialize an object. | |
bool | AddMesh (const MbMesh &, bool checkSamePointers) |
Add objects of mesh from a given mesh. | |
bool | Reverse () |
Revert the object - reorient all polygons and grids. | |
bool | ReverseGrid (size_t gIndex) |
Revert the object - reorient given grids. | |
const MbSpaceItem * | SpaceItem () const |
Get a spatial object for which a polygonal object is constructed. | |
const MbPlaneItem * | PlaneItem () const |
Get a two-dimensional object for which a polygonal object is constructed. | |
const MbItem * | Item () const |
Get a model geometric object for which a polygonal object is constructed. | |
const MbRefItem * | GetRefItem () const |
Get an object for which a polygonal object is constructed. | |
void | SetRefItem (const MbRefItem *g) |
Remember an object for which a polygonal object is constructed. | |
void | ResetRefItems () |
Reset all reference objects. | |
void | SetMeshType (MbeSpaceType t) |
Set a type of polygonal object. | |
MbeSpaceType | GetMeshType () const |
Get a type of polygonal object. | |
void | SetApexName (SimpleName n) |
Set the name of all apexes. | |
void | SetPolygonName (SimpleName n) |
Set the name of all polygons. | |
void | SetGridName (SimpleName n) |
Set the name of all triangulations. | |
const MbApex3D * | FindApexByName (const SimpleName h) const |
Find apex by name. | |
const MbPolygon3D * | FindPolygonByName (const SimpleName h) const |
Find polygon by name. | |
const MbGrid * | FindGridByName (const SimpleName h) const |
Find grid by name. | |
bool | IsClosed () const |
Object closeness. | |
void | SetClosed (bool c) const |
Set object (un-) closeness. | |
void | CheckClosed () const |
Check object (un-) closeness and set the flag. | |
bool | IsExact () const |
Objects on double data. | |
MbeItemLocation | GetLocation (const MbPlacement3D &pl, double eps, bool onlyInItem=false) const |
Define the object position relative to the plane. More... | |
bool | InsideLocation (const MbPlacement3D &place, MbRect &rect, double eps) const |
Define the object position relative to the tube. More... | |
void | ConvertAllToTriangles () |
Convert all objects to triangles and equalize the number of points and normals. | |
size_t | AllTrianglesCount () const |
The total number of all (adjacent and nonadjacent) triangles. | |
size_t | AllQuadranglesCount () const |
The total number of all (adjacent and nonadjacent) quadrangles. | |
size_t | AllPointsCount () const |
The total number of all points of triangulations. | |
size_t | AllNormalsCount () const |
The total number of all normals of triangulations. | |
size_t | AllParamsCount () const |
The total number of all parameters of triangulations. | |
size_t | AllPolyPointsCount () const |
The total number of all points of poligons. | |
Public Member Functions inherited from MbItem | |
MbItem () | |
Constructor. | |
virtual | ~MbItem () |
Destructor. | |
MbeSpaceType | Type () const override |
Get the group object type. | |
MbeSpaceType | Family () const override |
Get family of objects. | |
MbeImplicationType | ImplicationType () const override |
Get attribute container type. | |
MbProperty & | CreateProperty (MbePrompt n) const override |
Create your own property with the name. | |
void | GetProperties (MbProperties &properties) override |
Outstanding properties of the object. More... | |
void | SetProperties (const MbProperties &properties) override |
Change the properties of an object. More... | |
void | GetBasisPoints (MbControlData3D &) const override |
Get control points of object. | |
void | SetBasisPoints (const MbControlData3D &) override |
Change the object by control points. | |
virtual void | GetBasisPoints (MbControlData &) const |
virtual void | SetBasisPoints (const MbControlData &) |
virtual bool | GetPlacement (MbPlacement3D &p) const |
Get the coordinate system of an item if it is exist. More... | |
virtual bool | SetPlacement (const MbPlacement3D &) |
Set the coordinate system of an item if it is possible. | |
bool | RebuildItem (MbeCopyMode sameShell, RPArray< MbSpaceItem > *items, IProgressIndicator *progInd) override |
Reconstruct object according to the history tree. More... | |
virtual bool | GetItems (MbeSpaceType type, const MbMatrix3D &from, std::vector< SPtr< MbItem >> &items, std::vector< MbMatrix3D > &matrs) |
Get all objects by the type. More... | |
virtual bool | GetItems (MbeSpaceType type, const MbMatrix3D &from, RPArray< MbItem > &items, SArray< MbMatrix3D > &matrs) |
Get all objects by type. More... | |
virtual bool | GetUniqItems (MbeSpaceType type, CSSArray< const MbItem * > &items) const |
Get all unique objects by type. More... | |
virtual const MbItem * | GetItemByPath (const MbPath &path, size_t ind, MbMatrix3D &from, size_t currInd=0) const |
Get the object by its path. More... | |
virtual const MbItem * | FindItem (const MbSpaceItem *s, MbPath &path, MbMatrix3D &from) const |
Find object by geometric object. More... | |
virtual const MbItem * | FindItem (const MbPlaneItem *s, MbPath &path, MbMatrix3D &from) const |
Find object by geometric object. More... | |
virtual const MbItem * | FindItem (const MbItem *s, MbPath &path, MbMatrix3D &from) const |
Find object by object of geometric model. More... | |
virtual const MbItem * | GetItemByName (SimpleName n, MbPath &path, MbMatrix3D &from) const |
Find object by name. More... | |
virtual void | TransformSelected (const MbMatrix3D &matr, MbRegTransform *iReg=nullptr) |
Transform selected object according to the matrix. More... | |
virtual void | MoveSelected (const MbVector3D &to, MbRegTransform *iReg=nullptr) |
Move selected object along a vector. More... | |
virtual void | RotateSelected (const MbAxis3D &axis, double angle, MbRegTransform *iReg=nullptr) |
Rotate selected object by a given angle about an axis. More... | |
virtual bool | GetMatrixFrom (MbMatrix3D &from) const |
Get transform matrix from local coordinate system of object. | |
virtual bool | GetMatrixInto (MbMatrix3D &into) const |
Get transform matrix into local coordinate system of object. | |
void | Assign (const MbItem &other) |
Copy creators and attributes. | |
void | CopyItemName (const MbItem &other) |
Copy the name of an object. | |
SimpleName | GetItemName () const |
Get name of object. | |
void | SetItemName (SimpleName n) |
Set name of the object. | |
bool | IsAttributeEqual (int attribute) |
Whether a sign attribute matches an object? | |
Public Member Functions inherited from MbSpaceItem | |
virtual | ~MbSpaceItem () |
Destructor. | |
void | PrepareWrite () const |
Register object. More... | |
MbeRefType | RefType () const override |
Get a registration type (for copying, duplication). | |
bool | IsFamilyRegistrable () const override |
Whether the object belongs to a registrable family. | |
virtual bool | IsSimilar (const MbSpaceItem &item) const |
Determine whether an object is similar. More... | |
virtual void | Refresh () |
Translate all the time (mutable) data objects in an inconsistent (initial) state. | |
void | CalculateWire (const MbStepData &stepData, MbMesh &mesh) const |
void | CalculateWire (double sag, MbMesh &mesh) const |
Public Member Functions inherited from TapeBase | |
TapeBase (RegistrableRec regs=noRegistrable) | |
Constructor. | |
TapeBase (const TapeBase &) | |
Copy-constructor. | |
virtual | ~TapeBase () |
Destructor. | |
RegistrableRec | GetRegistrable () const |
Whether the stream class is registrable. | |
void | SetRegistrable (RegistrableRec regs=registrable) const |
Set the state of registration of the stream class. | |
virtual const char * | GetPureName (const VersionContainer &) const |
Get the class name. | |
Public Member Functions inherited from MbRefItem | |
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. | |
Public Member Functions inherited from MbTransactions | |
MbTransactions () | |
Constructor without parameters. | |
template<class Creators > | |
MbTransactions (const Creators &creators) | |
Constructor by creators. | |
virtual | ~MbTransactions () |
Destructor. | |
void | CreatorsCopy (MbTransactions &other, MbRegDuplicate *iReg=nullptr) const |
Clear the given history tree and copy the creators to it. | |
void | CreatorsAssign (const MbTransactions &other) |
Clear the history tree and copy the creators from the given history tree to it. | |
bool | SetCreatorsEqual (const MbTransactions &other) |
Make the creators equal to the creators from the given history tree if the creators are similar. | |
bool | IsCreatorsSimilar (const MbTransactions &other) const |
Check whether the corresponding creators of the given history tree are similar. | |
void | CreatorsTransform (const MbMatrix3D &, MbRegTransform *=nullptr) |
Transform the creators according to the matrix. | |
void | CreatorsMove (const MbVector3D &, MbRegTransform *=nullptr) |
Move creators along the vector. | |
void | CreatorsRotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr) |
Rotate the creators about the axis by the given angle. | |
size_t | GetCreatorsCount () const |
Get the creators count. | |
void | Reserve (size_t count) |
Reserve space for creators. | |
const MbCreator * | GetCreator (size_t ind) const |
Get constructor by its index. | |
MbCreator * | SetCreator (size_t ind) |
Get constructor by its index with possibility of editing. | |
template<class CreatorsVector > | |
bool | GetCreatorsCopies (CreatorsVector &creators, MbRegDuplicate *iReg) const |
Add copies of your own creators to the given array. | |
size_t | FindCreator (const MbCreator *creator) |
Find the number of creators in the history tree or return SYS_MAX_T if it is absent. | |
bool | AddCreator (const MbCreator &, bool addSame=false) |
Add the constructor (addSame = false) or its copy (addSame = true) to the history tree. | |
bool | AddCreator (const MbCreator *, bool addSame=false) |
Add the constructor (addSame = false) or its copy (addSame = true) to the history tree. | |
template<class CreatorsVector > | |
void | AddCreators (const CreatorsVector &creators) |
Add creators to the history tree. | |
MbCreator * | DetachCreator (size_t ind) |
Remove the constructor with the specified index from the history tree and return it. | |
bool | DeleteCreator (size_t ind) |
Delete the constructor with the specified index and remove it from the history tree. | |
void | DeleteCreators () |
Delete all the creators and clear the history tree. | |
int | GetCreatorStatus (size_t ind) const |
Get the status of creator with the specified index. | |
bool | SetCreatorStatus (size_t ind, MbeProcessState) |
Set status to creator with the specified index. | |
size_t | GetActiveCreatorsCount () const |
Get the active creators count. | |
bool | SetActiveCreatorsCount (size_t activeCount) |
Set the count of active creators from the beginning to the given index. | |
void | BreakCreatorsToBasisItem (size_t c, RPArray< MbSpaceItem > &) |
Get the object created by the specified number of creators and the basis items of the other creators. | |
void | GetCreatorsBasisItems (RPArray< MbSpaceItem > &) |
Get the basis items of the creators. | |
void | GetCreatorsBasisPoints (MbControlData3D &) const |
Get the basis points of the creators. | |
void | SetCreatorsBasisPoints (const MbControlData3D &) |
Change the object by control points. | |
void | GetProperties (MbProperties &, bool sameCreators=false) |
Get properties of the creators (using original creators or their copies). | |
void | SetProperties (const MbProperties &) |
Set properties of the creators. | |
void | CreatorsRead (reader &in) |
Read creators from the stream. | |
void | CreatorsWrite (writer &out) const |
Write creators to the stream. | |
Public Member Functions inherited from MbAttributeContainer | |
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. | |
Public Member Functions inherited from MbSyncItem | |
void | Lock () const |
Switch lock on (locking happens only in parallel region). | |
void | Unlock () const |
Switch lock off if locking has been set. | |
Additional Inherited Members | |
Static Public Member Functions inherited from MbAttributeContainer | |
static MbUserAttribute * | ReduceUserAttrib (const MbExternalAttribute &) |
Convert user attribute to "system" one. | |
static MbExternalAttribute * | AdvanceUserAttrib (const MbUserAttribute &) |
Convert "system" attribute to user one. | |
Protected Member Functions inherited from MbItem | |
MbItem (const MbItem &, MbRegDuplicate *) | |
Copy-constructor with duplication registrator. | |
void | LockItem () const |
Catch object if multithreading mode is on. | |
void | UnlockItem () const |
Release object if multithreading mode is on. | |
Protected Member Functions inherited from MbSpaceItem | |
MbSpaceItem () | |
Default constructor. | |
Protected Member Functions inherited from MbRefItem | |
MbRefItem () | |
Constructor without parameters. | |
Protected Member Functions inherited from MbTransactions | |
MbTransactions (const MbTransactions &, MbRegDuplicate *iReg) | |
Copy-constructor with registrator. | |
Protected Member Functions inherited from MbAttributeContainer | |
MbAttributeContainer (const MbAttributeContainer &, MbRegDuplicate *) | |
Copy-constructor with the registrator. | |
The polygonal geometric object - Mesh.
Mesh is an object of geometric model (subclass MbItem) which is the set of primitives MbPrimitive which approximate some geometric object for speed up rendering, calculation of inertial characteristics, collision detection and other calculations.
For example, the mesh can be create on the basis of a point set obtained measurements of the real physical solid. Polygonal object contains a set of points which are nodes (vertices) in the data structures: a set of pointers to triangulations MbGrid (sets of mating triangular and quadrangular plates), a set of pointers to polygons MbPolygon3D (sets of points which describe the polylines), a set of pointers to apexes MbApex3D (points wich describe the position of vertices or objects-points).
|
overridevirtual |
Create a copy of the object.
Create a copy of an object using the registrator. Registrator is used to prevent multiple copy of the object. If the object contains references to the other objects, then nested objects are copied as well. It is allowed not to pass registrator into the function. Then new copy of object will be created. While copying of single object or set of not connected objects, it is allowed not to use registrator. Registrator should be used if it is required to copy several connected objects. It is possible, that objects connection is based on the references to common objects. Then, while copying without using of registrator, it is possible to obtain set of copies, that contain references to the different copies of the same nested object, that leads to loss of connection between copies.
[in] | iReg | - Registrator. |
Implements MbSpaceItem.
|
overridevirtual |
Convert the object according to the matrix.
Convert the original object according to the matrix using the registrator. If object contains references to the other geometric objects, then nested objects are transformed according to the matrix. Registrator is needed to prevent multiple object copying. It is allowed to use function without registrator, if it is needed to transform single object. If it is needed to transform a set of connected objects, then one should use registrator to prevent repeating transformation of nested objects, because of the possible situation when several objects contain references to the same common objects, that require to be transformed.
[in] | matr | - Transformation matrix. |
[in] | iReg | - Registrator. |
Implements MbSpaceItem.
|
overridevirtual |
Move an object along a vector.
Move an object along a geometric vector using the registrator. If object contains references to the other geometric objects then the move operation is applied to the nested objects. Registrator is needed to prevent multiple copying of the object. It is allowed to use function without registrator, if it is needed to transform a single object. If it is needed to transform a set of connected objects, then one should use registrator to prevent repeating transformation of nested objects, because of the possible situation when several objects contain references to the same common objects, that require to be moved.
[in] | to | - Shift vector. |
[in] | iReg | - Registrator. |
Implements MbSpaceItem.
|
overridevirtual |
Rotate an object around an axis at a given angle.
Rotate an object around an axis at a given angle with the registrator. If object contains references to the other geometric objects then the rotation operation is applied to the nested objects. Registrator is needed to prevent multiple copying of the object. It is allowed to use function without registrator, if it is needed to transform a single object. If it is needed to transform a set of connected objects, then one should use registrator to prevent repeating transformation of nested objects, because of the possible situation when several objects contain references to the same common objects, that require to be rotated.
[in] | axis | - The axis of rotation. |
[in] | angle | - Rotation. |
[in] | iReg | - Registrator. |
Implements MbSpaceItem.
|
overridevirtual |
Determine whether an object is equal.
Still considered objects of the same type, all data is the same (equal).
[in] | item | - The object to compare. |
[in] | accuracy | - The accuracy to compare. |
Implements MbSpaceItem.
|
overridevirtual |
Make objects equal if they are similar.
You can still make only a similar objects.
[in] | item | - The object to initialize. |
Implements MbSpaceItem.
|
overridevirtual |
Determine the distance to the point.
Determine the distance to the point.
[in] | point | - Point. |
Implements MbSpaceItem.
Expand sent bounding box (a.k.a. gabarit), so that it included the object.
Expand sent bounding box, so that it included the object.
[in,out] | cube | - The bounding box to expand. |
Implements MbSpaceItem.
|
overridevirtual |
To compute bounding box in a local coordinate system.
To obtain bounding box of object with regar to a local coordinate system, sent box is made to be empty. Then it is computed bounding box of object in a local coordinate system \ and it is stored in box 'cube'
[in] | into | - Transformation matrix from object's current coordinate system to a local coordinate system |
[in,out] | cube | - Information on bounding box |
Implements MbSpaceItem.
|
overridevirtual |
Build polygonal copy mesh.
Build a polygonal copy of the object that is represented by polygons or/and fasets.
[in] | stepData | - Data for еру step calculation for polygonal object. |
[in] | note | - Way for polygonal object constructing. |
[in,out] | mesh | - The builded polygonal object. |
Implements MbSpaceItem.
|
overridevirtual |
Outstanding properties of the object.
Issue internal data (properties) of the object for viewing and modification.
[in] | properties | - Container for the internal data of the object. |
Implements MbSpaceItem.
|
overridevirtual |
Change the properties of an object.
Changing the internal data (properties) of the object you are copying the corresponding values from the sent object.
[in] | properties | - Container for the internal data of the object. |
Implements MbSpaceItem.
|
overridevirtual |
Create polygonal object.
Create a polygonal object - a polygonal copy of the given object.
[in] | stepData | - Data for step calculation during triangulation. |
[in] | note | - Way for polygonal object constructing. |
Implements MbItem.
|
overridevirtual |
Add polygonal object.
Add your own polygonal copy to the given polygonal object.
[in] | stepData | - Data for step calculation during triangulation. |
[in] | note | - Way for polygonal object constructing. |
[out] | mesh | - Given polygonal object. |
Reimplemented from MbItem.
|
overridevirtual |
Cut the polygonal object by one or two parallel planes.
Create polygonal object from a part of source polygonal object which located under XY-plane of local coordinate system at given distance.
Function 'cuts' only MbMesh polygonal object. Function 'cuts' the object by two planes: XY plane of 'place' local coordinate system and plane parallel to it and located at 'distance' distance below it. If 'distance' is less than or equal to zero, then the function "cuts" an object only by one XY plane of local coordinate system.
Contents of an object that are necessary for creation of cut object and not affected by cutting planes are added to returned cut object without copying.
[in] | cutPlace | - A local coordinate system which XY plane defines a cutting plane. |
[in] | distance | - Distance to a parallel cutting plane is measured in negative direction of Z-axis of local coordinate system. |
[in] | names | - An object defining names generation in the operation. |
Reimplemented from MbItem.
|
overridevirtual |
Find the nearest object or name of the nearest object.
Find the nearest three-dimensional object or its name by type of object and component of the required object or its name by topological or two-dimensional type of the element (on demand) at distance from line less than or equal to the given value. Function is intended for identification of a geometric object which is begetter of a polygonal object. The real search is performed for MbMesh polygonal object's MbPrimitive elements from which the information is taken about geometric object which is begetter of the primitive.
[in] | sType | - Type of required object. |
[in] | tType | - Topological type of the required object's component. |
[in] | pType | - Two-dimensional type of the required object's component. |
[in] | axis | - Line of search. |
[in] | maxDistance | - Distance from the line on which the object is looked for. |
[in] | gridPriority | - Increased priority triangulation grid when searching. |
[out] | t | - Parameter of found point on line. |
[out] | dMin | - Found distance from line to an object. |
[out] | find | - Found object. |
[out] | findName | - Name of the found object. |
[out] | element | - Found component of the object. |
[out] | elementName | - Name of found component of the object. |
[out] | path | - Object's path in the model. |
[out] | from | - Transformation matrix of the found object to the global coordinate system. |
Reimplemented from MbItem.
MbeItemLocation MbMesh::GetLocation | ( | const MbPlacement3D & | pl, |
double | eps, | ||
bool | onlyInItem = false |
||
) | const |
Define the object position relative to the plane.
Define the object position relative to the plane XY of a local coordinate system.
[in] | pl | - A local coordinate system which defines a plane. |
[in] | eps | - A metric tolerance. |
[in] | onlyInItem | - Whether the object position relative to the XY-plane of a local coordinate system is interested only. |
bool MbMesh::InsideLocation | ( | const MbPlacement3D & | place, |
MbRect & | rect, | ||
double | eps | ||
) | const |
Define the object position relative to the tube.
Define whether the object is inside the tube of rectangular section, given by a rectangle in the XY plane of a local coordinate system.
[in] | place | - A local coordinate system in the XY plane of which a tube section is located. |
[in] | rect | - A rectangle which defines a tube section. |
[in] | eps | - A metric tolerance. |
[in] | onlyInItem | - Whether the object position relative to the tube is interested only. |
bool MbMesh::LineIntersection | ( | const MbFloatAxis3D & | line, |
MbFloatPoint3D & | crossPnt, | ||
float & | tRes | ||
) |
Find the intersection of a straight line with the polygonal object.
For all the triangles the intersection with the straight line is determined and the minimum value of the intersection point parameter on the secant straight line is calculated.
[in] | line | - Straight line to calculate the intersection of triangulation with. |
[out] | crossPnt | - The intersection point. |
[out] | tRes | - Parameter of the intersection point on the line. |
double MbMesh::FindNearest | ( | const MbCartPoint3D & | pnt, |
MbCartPoint3D & | pntProj, | ||
size_t & | iGrid, | ||
c3d::IndicesPair & | tqInd | ||
) | const |
Find index of triangle or quadrangle which is closest to a point.
[in] | pnt | - Point. |
[out] | pntProj | - Nearest point from mesh. |
[out] | iGrid | - Nearest grid index. |
[out] | tqInd | - Index of nearest triangle or quadrangle. |
|
inline |
Create elements search tree.
Create elements search tree.
[in] | forcedNew | - Create forced new ones. |
|
inline |
Delete elements search tree.
Delete elements search tree.