C3D Toolkit  Kernel - 118069, Vision - 2.16.7.1844

Reference-counted object. More...

#include <mb_pmi.h>

+ Inheritance diagram for MbPMI:
+ Collaboration diagram for MbPMI:

Public Member Functions

MbePMIType GetPMIType () const
 Get PMI type.
 
MbPlacement3D GetLocation () const
 Get plane for planar elements transformation into space.
 
void SetLocation (const MbPlacement3D &loc)
 Set plane for planar elements transformation into space.
 
c3d::string_t GetTitle () const
 Get captrion of the annotation element.
 
void SetTitle (const c3d::string_t &t)
 Set captrion of the annotation element.
 
size_t GeometricElementsCount () const
 Get count of geometric items.
 
c3d::ItemSPtr GetGeometricElement (size_t elementIndex) const
 Get geometric item at the specified index. More...
 
void AddGeometricElements (const c3d::ItemsSPtrVector &elems)
 Add geometric items.
 
size_t TextElementsCount () const
 Get count of text items.
 
SPtr< MbTextItem > GetTextElement (size_t elementIndex) const
 Get text item at the specified index. More...
 
bool ResetTextElemets (const std::vector< SPtr< MbTextItem >> &texts)
 Reset text items.
 
bool ResetGeometricElemets (const std::vector< c3d::ItemSPtr > &elems)
 Reset geometric elements.
 
void GetTextElements (std::vector< SPtr< MbTextItem >> &texts)
 Reset text items.
 
void SetNumericalCharacteristics (SRef< MbNumericalCharacteristic > numericahCharacteristics)
 Set numerical characteristics.
 
SPtr< MbNumericalCharacteristic > GetNumericalCharacteristics () const
 Get numerical characteristics.
 
bool IsValueOrRangeDefined () const
 Is numeric values defined.
 
bool IsDimension () const
 Is it dimension.
 
bool ConvertToTechnicalRequirements ()
 Convert to Technical Requirements element if it is possible.
 
MbeSpaceType IsA () const final
 Get the type of the object.
 
MbeSpaceType Type () const final
 Get the group object type.
 
MbSpaceItem & Duplicate (MbRegDuplicate *=nullptr) const final
 Create a copy of the object. More...
 
bool IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const final
 Determine whether an object is equal. More...
 
bool SetEqual (const MbSpaceItem &) final
 Make objects equal if they are similar. More...
 
void Transform (const MbMatrix3D &, MbRegTransform *=nullptr) final
 Convert the object according to the matrix. More...
 
void Move (const MbVector3D &, MbRegTransform *=nullptr) final
 Move an object along a vector. More...
 
void Rotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr) final
 Rotate an object around an axis at a given angle. More...
 
bool IsSimilar (const MbSpaceItem &init) const final
 Determine whether an object is similar. More...
 
double DistanceToPoint (const MbCartPoint3D &) const final
 Determine the distance to the point. More...
 
void AddYourGabaritTo (MbCube &r) const final
 Expand sent bounding box (a.k.a. gabarit), so that it included the object. More...
 
void CalculateMesh (const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) const final
 Build polygonal copy mesh. More...
 
MbProperty & CreateProperty (MbePrompt n) const final
 Create your own property with the name.
 
void GetProperties (MbProperties &properties) final
 Outstanding properties of the object. More...
 
void SetProperties (const MbProperties &properties) final
 Change the properties of an object. More...
 
- Public Member Functions inherited from MbLegend
virtual ~MbLegend ()
 Destructor.
 
MbeSpaceType Family () const override
 Get family of objects.
 
void CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const override
 To compute bounding box in a local coordinate system. More...
 
- 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 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
 
virtual void GetBasisItems (RPArray< MbSpaceItem > &)
 Outstanding reference objects in a container sent.
 
virtual void GetBasisPoints (MbControlData3D &) const
 Get control points of object.
 
virtual void SetBasisPoints (const MbControlData3D &)
 Change the object by control points.
 
- 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
void AddRegistrator (MbRegDuplicate *reg) const
 Add the register.
 
void RemoveRegistrator (MbRegDuplicate *reg) const
 Remove the register.
 
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.
 

Static Public Member Functions

static SPtr< MbPMI > CreateGeneral (const MbPlacement3D &plane=MbPlacement3D::global, const c3d::string_t &pmiName=c3d::string_t(), const c3d::ItemsSPtrVector &pmiVisual=c3d::ItemsSPtrVector(), const std::vector< SPtr< MbTextItem >> &pmiText=std::vector< SPtr< MbTextItem >>())
 Create annotation item of general type. More...
 
static SPtr< MbPMI > CreateGeneralEmpty (const MbPlacement3D &plane, const c3d::string_t &pmiName=c3d::string_t())
 Create annotation item of general type without data. More...
 
static SPtr< MbPMI > CreateTechnicalRequirements (const MbPlacement3D &plane=MbPlacement3D::global, const c3d::string_t &pmiName=c3d::string_t(), const c3d::ItemsSPtrVector &pmiVisual=c3d::ItemsSPtrVector(), const std::vector< SPtr< MbTextItem >> &pmiText=std::vector< SPtr< MbTextItem >>())
 Create annotation item of the "Tehcnical requirements" type. More...
 
static SPtr< MbPMI > CreateSurfaceRoughness (MbValueRange &&rangeValue, std::vector< SPtr< MbCalloutCurve >> &&callouts, const MbPlacement3D &plane=MbPlacement3D::global, const c3d::string_t &pmiName=c3d::string_t(), const c3d::ItemsSPtrVector &pmiVisual=c3d::ItemsSPtrVector(), const std::vector< SPtr< MbTextItem >> &pmiText=std::vector< SPtr< MbTextItem >>())
 Create annotation item of the surface condition type. More...
 
static SPtr< MbPMI > CreateShapeTolerance (MbValueRange &&rangeValue, std::vector< SPtr< MbCalloutCurve >> &&callouts, const MbPlacement3D &plane=MbPlacement3D::global, const c3d::string_t &pmiName=c3d::string_t(), const c3d::ItemsSPtrVector &pmiVisual=c3d::ItemsSPtrVector(), const std::vector< SPtr< MbTextItem >> &pmiText=std::vector< SPtr< MbTextItem >>())
 Create annotation item of the shape tolerance type. More...
 
static SPtr< MbPMI > CreateNumericalCharacteristics (SRef< MbNumericalCharacteristic > numericalCharacteristics, const MbPlacement3D &plane=MbPlacement3D::global, const c3d::string_t &pmiName=c3d::string_t(), const c3d::ItemsSPtrVector &pmiVisual=c3d::ItemsSPtrVector(), const std::vector< SPtr< MbTextItem >> &pmiText=std::vector< SPtr< MbTextItem >>())
 Create annotation item of the "Numerical Characteristic" type.
More...
 
static SPtr< MbPMI > CreateCallout (MbePMIType calloutSubType, SRef< MbNumericalCharacteristic > calloutStorage, const MbPlacement3D &plane=MbPlacement3D::global, const c3d::string_t &pmiName=c3d::string_t(), const c3d::ItemsSPtrVector &pmiVisual=c3d::ItemsSPtrVector(), const std::vector< SPtr< MbTextItem >> &pmiText=std::vector< SPtr< MbTextItem >>())
 Create annotation item of the "Callout" type. More...
 
static bool CreateDimensionCalloutCurves (std::vector< SPtr< MbCalloutCurve >> &addTo, const MbPlacement3D dimLocation, const MbCurve3D *dimCurve, const std::vector< MbCurve3D * > &projectionCurves, const std::vector< SPtr< MbTopologyItem >> &projectionCurvesObj, const std::vector< SPtr< MbTerminator >> &dimCurveTerminators=std::vector< SPtr< MbTerminator >>())
 Create callout curves: one dimension curve of type MbeCalloutCurveType::dimensionCurve and two projection curves of type MbeCalloutCurveType::projectionCurve. More...
 
static bool CreateGeneralCalloutCurve (std::vector< SPtr< MbCalloutCurve >> &addTo, const MbPlacement3D location, const MbCurve3D *calloutCurve, const SPtr< MbTopologyItem > &obj, const std::vector< SPtr< MbTerminator >> &terminators=std::vector< SPtr< MbTerminator >>())
 Create callout curve of type MbeCalloutCurveType::callout. More...
 
static SPtr< MbTerminator > CreateTerminator (const MbPlacement3D &pmiLocation, const MbCurve3D &dimensionCurve, const c3d::string_t &type, double parameterOnCurve, const double sizeX, const double sizeY, const bool sameDirection)
 Create terminator of callouc curve. More...
 

Protected Member Functions

 MbPMI (MbePMIType pmiType, const MbPlacement3D &plane, const c3d::string_t &pmiName, SPtr< MbNumericalCharacteristic >, c3d::ItemsSPtrVector &&, std::vector< SPtr< MbTextItem >> &&pmiText)
 Constructor. More...
 
 MbPMI (const MbPMI &init, MbRegDuplicate *iReg=nullptr)
 Deepcoly constructor. More...
 
- Protected Member Functions inherited from MbLegend
 MbLegend ()
 Constructor.
 
- Protected Member Functions inherited from MbSpaceItem
 MbSpaceItem ()
 Default constructor.
 
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.
 

Detailed Description

Reference-counted object.

Constructor & Destructor Documentation

◆ MbPMI() [1/2]

MbPMI::MbPMI ( MbePMIType  pmiType,
const MbPlacement3D &  plane,
const c3d::string_t &  pmiName,
SPtr< MbNumericalCharacteristic >  ,
c3d::ItemsSPtrVector &&  ,
std::vector< SPtr< MbTextItem >> &&  pmiText 
)
protected

Constructor.

Parameters
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.

◆ MbPMI() [2/2]

MbPMI::MbPMI ( const MbPMI &  init,
MbRegDuplicate *  iReg = nullptr 
)
explicitprotected

Deepcoly constructor.

Parameters
[in]init- Item to copy,
[in]iReg- Replica registry.

Member Function Documentation

◆ CreateGeneral()

static SPtr<MbPMI> MbPMI::CreateGeneral ( const MbPlacement3D &  plane = MbPlacement3D::global,
const c3d::string_t &  pmiName = c3d::string_t(),
const c3d::ItemsSPtrVector &  pmiVisual = c3d::ItemsSPtrVector(),
const std::vector< SPtr< MbTextItem >> &  pmiText = std::vector< SPtr< MbTextItem >>() 
)
static

Create annotation item of general type.

Parameters
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.
Returns
Returns pointer to new annotation element if only at least one text or geometric element is given, otherwise null pointer.

◆ CreateGeneralEmpty()

static SPtr<MbPMI> MbPMI::CreateGeneralEmpty ( const MbPlacement3D &  plane,
const c3d::string_t &  pmiName = c3d::string_t() 
)
static

Create annotation item of general type without data.

Parameters
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
Returns
Returns pointer to new annotation element.

◆ CreateTechnicalRequirements()

static SPtr<MbPMI> MbPMI::CreateTechnicalRequirements ( const MbPlacement3D &  plane = MbPlacement3D::global,
const c3d::string_t &  pmiName = c3d::string_t(),
const c3d::ItemsSPtrVector &  pmiVisual = c3d::ItemsSPtrVector(),
const std::vector< SPtr< MbTextItem >> &  pmiText = std::vector< SPtr< MbTextItem >>() 
)
static

Create annotation item of the "Tehcnical requirements" type.

Parameters
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.
Returns
Returns pointer to new annotation element if only at least one text or geometric element is given, otherwise null pointer.

◆ CreateSurfaceRoughness()

static SPtr<MbPMI> MbPMI::CreateSurfaceRoughness ( MbValueRange &&  rangeValue,
std::vector< SPtr< MbCalloutCurve >> &&  callouts,
const MbPlacement3D &  plane = MbPlacement3D::global,
const c3d::string_t &  pmiName = c3d::string_t(),
const c3d::ItemsSPtrVector &  pmiVisual = c3d::ItemsSPtrVector(),
const std::vector< SPtr< MbTextItem >> &  pmiText = std::vector< SPtr< MbTextItem >>() 
)
static

Create annotation item of the surface condition type.

Parameters
[in]rangeValue- Numerical values,
[in]callouts- Callout lines.
Returns
Numerical value of a linear dimension with bind objects.
Parameters
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.
Returns
Returns pointer to new annotation element if only at least one text or geometric element is given, otherwise null pointer.

◆ CreateShapeTolerance()

static SPtr<MbPMI> MbPMI::CreateShapeTolerance ( MbValueRange &&  rangeValue,
std::vector< SPtr< MbCalloutCurve >> &&  callouts,
const MbPlacement3D &  plane = MbPlacement3D::global,
const c3d::string_t &  pmiName = c3d::string_t(),
const c3d::ItemsSPtrVector &  pmiVisual = c3d::ItemsSPtrVector(),
const std::vector< SPtr< MbTextItem >> &  pmiText = std::vector< SPtr< MbTextItem >>() 
)
static

Create annotation item of the shape tolerance type.

Parameters
[in]rangeValue- Numerical values,
[in]callouts- Callout lines.
Returns
Numerical value of a linear dimension with bind objects.
Parameters
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.
Returns
Returns pointer to new annotation element if only at least one text or geometric element is given, otherwise null pointer.

◆ CreateNumericalCharacteristics()

static SPtr<MbPMI> MbPMI::CreateNumericalCharacteristics ( SRef< MbNumericalCharacteristic >  numericalCharacteristics,
const MbPlacement3D &  plane = MbPlacement3D::global,
const c3d::string_t &  pmiName = c3d::string_t(),
const c3d::ItemsSPtrVector &  pmiVisual = c3d::ItemsSPtrVector(),
const std::vector< SPtr< MbTextItem >> &  pmiText = std::vector< SPtr< MbTextItem >>() 
)
static

Create annotation item of the "Numerical Characteristic" type.

Parameters
[in]numericalCharacteristics- Numerical characteristics,
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.
Returns
Returns pointer to new annotation element if only at least one text or geometric element is given, otherwise null pointer.

◆ CreateCallout()

static SPtr<MbPMI> MbPMI::CreateCallout ( MbePMIType  calloutSubType,
SRef< MbNumericalCharacteristic >  calloutStorage,
const MbPlacement3D &  plane = MbPlacement3D::global,
const c3d::string_t &  pmiName = c3d::string_t(),
const c3d::ItemsSPtrVector &  pmiVisual = c3d::ItemsSPtrVector(),
const std::vector< SPtr< MbTextItem >> &  pmiText = std::vector< SPtr< MbTextItem >>() 
)
static

Create annotation item of the "Callout" type.

Parameters
[in]calloutSubType- Exact callout type,
[in]calloutStorage- Callout lines storage,
[in]plane- Plane for planar elements transformation into space,
[in]pmiName- Captrion of the annotation element,
[in]pmiVisual- Geometric items ot the annotation element,
[in]pmiTextText items ot the annotation element.
Returns
Returns pointer to new annotation element if only at least one text or geometric element is given, otherwise null pointer.

◆ CreateDimensionCalloutCurves()

static bool MbPMI::CreateDimensionCalloutCurves ( std::vector< SPtr< MbCalloutCurve >> &  addTo,
const MbPlacement3D  dimLocation,
const MbCurve3D *  dimCurve,
const std::vector< MbCurve3D * > &  projectionCurves,
const std::vector< SPtr< MbTopologyItem >> &  projectionCurvesObj,
const std::vector< SPtr< MbTerminator >> &  dimCurveTerminators = std::vector< SPtr< MbTerminator >>() 
)
static

Create callout curves: one dimension curve of type MbeCalloutCurveType::dimensionCurve and two projection curves of type MbeCalloutCurveType::projectionCurve.

Parameters
[in,out]addTo- Callout lines storage,
[in]dimLocation- Plane for planar elements transformation into space,
[in]dimCurve- Curves for creation dimension callout curves,
[in]projectionCurves- Curves for creation projection callout curves,
[in]projectionCurvesObj- Characterized topology objects referenced by projection curves,
[in]dimCurveTerminators- Dimension curve terminators.
Returns
Returns true if callout curves are created correctly.

◆ CreateGeneralCalloutCurve()

static bool MbPMI::CreateGeneralCalloutCurve ( std::vector< SPtr< MbCalloutCurve >> &  addTo,
const MbPlacement3D  location,
const MbCurve3D *  calloutCurve,
const SPtr< MbTopologyItem > &  obj,
const std::vector< SPtr< MbTerminator >> &  terminators = std::vector< SPtr< MbTerminator >>() 
)
static

Create callout curve of type MbeCalloutCurveType::callout.

Parameters
[in,out]addTo- Callout lines storage,
[in]location- Plane for planar elements transformation into space,
[in]calloutCurve- Curves for creation callout curves,
[in]obj- Characterized topology object,
[in]terminators- Callout curve terminators.
Returns
Returns true if callout curve is created correctly.

◆ CreateTerminator()

static SPtr<MbTerminator> MbPMI::CreateTerminator ( const MbPlacement3D &  pmiLocation,
const MbCurve3D &  dimensionCurve,
const c3d::string_t &  type,
double  parameterOnCurve,
const double  sizeX,
const double  sizeY,
const bool  sameDirection 
)
static

Create terminator of callouc curve.

Parameters
[in]pmiLocation- Plane for planar elements transformation into space,
[in]dimensionCurve- Callout curve,
[in]type- Termitanor type,
[in]parameterOnCurve- Parameter value on the dimensional curve. If not known, must be equal UNDEFINED_DBL,
[in]sizeX- Size of the terminator in the x direction of the location,
[in]sizeY- Size of the terminator in the y direction of the location,
[in]sameDirection- Flag of the same direction with the tangent to the curve at the location point. In case parameter id undefined it shows if the arrow's direction is inner.

◆ GetGeometricElement()

c3d::ItemSPtr MbPMI::GetGeometricElement ( size_t  elementIndex) const

Get geometric item at the specified index.

Parameters
[in]elementIndex- Element's index,
Returns
Element if index is valid, null pointer otherwise.

◆ GetTextElement()

SPtr<MbTextItem> MbPMI::GetTextElement ( size_t  elementIndex) const

Get text item at the specified index.

Parameters
[in]elementIndex- Element's index,
Returns
Element if index is valid, null pointer otherwise.

◆ Duplicate()

MbSpaceItem& MbPMI::Duplicate ( MbRegDuplicate *  iReg = nullptr) const
finalvirtual

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.

Parameters
[in]iReg- Registrator.
Returns
A copy of the object.

Implements MbSpaceItem.

◆ IsSame()

bool MbPMI::IsSame ( const MbSpaceItem &  other,
double  accuracy = LENGTH_EPSILON 
) const
finalvirtual

Determine whether an object is equal.

Still considered objects of the same type, all data is the same (equal).

Parameters
[in]item- The object to compare.
[in]accuracy- The accuracy to compare.
Returns
Whether the objects are equal.

Implements MbSpaceItem.

◆ SetEqual()

bool MbPMI::SetEqual ( const MbSpaceItem &  item)
finalvirtual

Make objects equal if they are similar.

You can still make only a similar objects.

Parameters
[in]item- The object to initialize.
Returns
Object is changed.

Implements MbSpaceItem.

◆ Transform()

void MbPMI::Transform ( const MbMatrix3D &  matr,
MbRegTransform *  iReg = nullptr 
)
finalvirtual

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.

Parameters
[in]matr- Transformation matrix.
[in]iReg- Registrator.

Implements MbSpaceItem.

◆ Move()

void MbPMI::Move ( const MbVector3D &  to,
MbRegTransform *  iReg = nullptr 
)
finalvirtual

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.

Parameters
[in]to- Shift vector.
[in]iReg- Registrator.

Implements MbSpaceItem.

◆ Rotate()

void MbPMI::Rotate ( const MbAxis3D &  axis,
double  angle,
MbRegTransform *  iReg = nullptr 
)
finalvirtual

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.

Parameters
[in]axis- The axis of rotation.
[in]angle- Rotation.
[in]iReg- Registrator.

Implements MbSpaceItem.

◆ IsSimilar()

bool MbPMI::IsSimilar ( const MbSpaceItem &  item) const
finalvirtual

Determine whether an object is similar.

Such are considered the same objects whose data are similar.

Parameters
[in]item- The object to compare.
Returns
Whether the objects are similar.

Reimplemented from MbSpaceItem.

◆ DistanceToPoint()

double MbPMI::DistanceToPoint ( const MbCartPoint3D &  point) const
finalvirtual

Determine the distance to the point.

Determine the distance to the point.

Parameters
[in]point- Point.
Returns
Distance to point

Implements MbSpaceItem.

◆ AddYourGabaritTo()

void MbPMI::AddYourGabaritTo ( MbCube &  cube) const
finalvirtual

Expand sent bounding box (a.k.a. gabarit), so that it included the object.

Expand sent bounding box, so that it included the object.

Parameters
[in,out]cube- The bounding box to expand.

Implements MbSpaceItem.

◆ CalculateMesh()

void MbPMI::CalculateMesh ( const MbStepData &  stepData,
const MbFormNote &  note,
MbMesh &  mesh 
) const
finalvirtual

Build polygonal copy mesh.

Build a polygonal copy of the object that is represented by polygons or/and fasets.

Parameters
[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.

◆ GetProperties()

void MbPMI::GetProperties ( MbProperties &  properties)
finalvirtual

Outstanding properties of the object.

Issue internal data (properties) of the object for viewing and modification.

Parameters
[in]properties- Container for the internal data of the object.

Implements MbSpaceItem.

◆ SetProperties()

void MbPMI::SetProperties ( const MbProperties &  properties)
finalvirtual

Change the properties of an object.

Changing the internal data (properties) of the object you are copying the corresponding values from the sent object.

Parameters
[in]properties- Container for the internal data of the object.

Implements MbSpaceItem.


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