C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

A solid or a set of solids which are defined in a coordinate system with an attribute of cutting in sections and cutaways. More...

#include <map_lump.h>

+ Inheritance diagram for MbMappingLumps:
+ Collaboration diagram for MbMappingLumps:

Public Member Functions

 MbMappingLumps (const MbSolid &_solid, const MbMatrix3D &_from, bool _willCut, uint _comp=0, size_t _ident=SYS_MAX_T)
 Constructor by data. More...
 
template<class LumpsVector >
 MbMappingLumps (const LumpsVector &_lumps)
 Constructor by data. More...
 
virtual ~MbMappingLumps ()
 Destructor.
 
size_t Count () const
 The number of solids. More...
 
MbLumpoperator[] (size_t ind)
 A solid by an index. More...
 
const MbLumpoperator[] (size_t ind) const
 A solid by an index. More...
 
virtual bool IsBaseLump () const
 Whether it is the basic object or not. More...
 
virtual bool IsMappingLump () const
 Solid with cutting type?
 
void SetCuttingType (bool cut)
 Set type of cutting the solid. More...
 
bool WillCut () const
 Type of cutting the solid. More...
 
- Public Member Functions inherited from MbCutLump
 MbCutLump ()
 Empty constructor.
 
 MbCutLump (const MbSolid &_solid, const MbMatrix3D &_from, uint _comp=0, size_t _ident=SYS_MAX_T)
 Constructor by data.
 
virtual ~MbCutLump ()
 Destructor.
 
virtual bool IsCutLump () const
 Solid with cutting type on base view?
 
virtual bool WillCutOnDeriveView () const
 Cut solid on derive view.
 
void SetCuttingTypeOnDeriveView (bool cut)
 Set type of cutting the solid on derive view. More...
 
- Public Member Functions inherited from MbLump
 MbLump ()
 Empty constructor.
 
 MbLump (const MbSolid &solid, const MbMatrix3D &from, uint comp=0, size_t ident=SYS_MAX_T, bool changed=true)
 Constructor by solid.
 
 MbLump (const MbMesh &mesh, const MbMatrix3D &from, uint comp=0, size_t ident=SYS_MAX_T, bool changed=true)
 Constructor by polygonal object.
 
virtual ~MbLump ()
 Destructor.
 
virtual MbLumpDuplicate (MbRegDuplicate *iReg=nullptr) const
 Duplication of an object.
 
uint GetComponent () const
 Get the name of a component.
 
void SetComponent (uint comp)
 Set the name of a component.
 
size_t GetIdentifier () const
 Get the thread identifier.
 
bool IsIdentifier () const
 Is an thread identifier.
 
void SetIdentifier (size_t id)
 Set the thread identifier.
 
const MbMatrix3DGetMatrixFrom () const
 Get the matrix of transformation to the world coordinate system.
 
MbMatrix3DSetMatrixFrom ()
 Get the matrix of transformation to the world coordinate system.
 
void SetSolid (const MbSolid &solid, const MbMatrix3D &from, bool changed=true)
 Initialize solid and matrix.
 
void SetMesh (const MbMesh &mesh, const MbMatrix3D &from, bool changed=true)
 Initialize solid and matrix.
 
const MbItemGetItem () const
 Get a geometric model object.
 
bool GetChanged () const
 Get component processing flag.
 
void SetChanged (bool c)
 Set component processing flag.
 
- Public Member Functions inherited from MbRefItem
virtual MbeRefType RefType () const
 Registration type (for copying, duplication).
 
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.
 

Additional Inherited Members

- Public Attributes inherited from MbCutLump
bool willCutOnDeriveView
 
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.
 
- Protected Attributes inherited from MbLump
c3d::ConstItemSPtr _item
 A geometric model object (always not nullptr).
 
MbMatrix3D _from
 A transformation matrix from the local coordinate system.
 
uint _component
 An identifier of a component which a solid is defined in.
 
size_t _identifier
 A thread identifier.
 

Detailed Description

A solid or a set of solids which are defined in a coordinate system with an attribute of cutting in sections and cutaways.

A solid or a set of solids which are defined in a coordinate system with an attribute of cutting in sections and cutaways.

  • When constructing the cutaways:
    1) if willCut = true the cutaway of solids is built;
    2) if willCut = false the full view of solids is built;
  • When constructing the sections:
    1) if willCut = true the cutaway of solids is built;
    2) if willCut = false the solids are not considered in the result of the construction.

The MbMappingLumps is an inheritor of the MbLump object and contains the pointer to a container of MbLump objects.

If the object contains one solid with a matrix the lumps array is empty.
If the "do not cut" flag is in cutaway or section on subassembly all solids of subassembly are in the same MbMappingLumps object with common flag of cutaway. In this case the first solid with a matrix is in the basic MbLump and the others are in the container of MbLump objects.

Constructor & Destructor Documentation

◆ MbMappingLumps() [1/2]

MbMappingLumps::MbMappingLumps ( const MbSolid _solid,
const MbMatrix3D _from,
bool  _willCut,
uint  _comp = 0,
size_t  _ident = SYS_MAX_T 
)
inline

Constructor by data.

Constructor by one solid.

Parameters
[in]_solid- A solid.
[in]_from- A matrix of translation to the global coordinate system.
[in]_willCut- The attribute of a solid cutaway in base view.
[in]_comp- A component.
[in]_ident- An identifier.

◆ MbMappingLumps() [2/2]

template<class LumpsVector >
MbMappingLumps::MbMappingLumps ( const LumpsVector &  _lumps)
inline

Constructor by data.

Constructor by a set of solids.
Captures MbSolid solid from the first element of the _lumps and the other elements of the _lumps by AddRef() method.
If the _lumps contains one element the lumps array remains nullptr.
If the _lumps doesn't contain any elements the MbSolid solid in the base object = nullptr. These objects should not be.

Parameters
[in]_lumps- A container of solids with the matrices of transformation to the global coordinate system should not be an empty container.

Member Function Documentation

◆ Count()

size_t MbMappingLumps::Count ( ) const
inline

The number of solids.

The number of solids.
Minimal number = 1 solid. In this case the lumps array is nullptr. In a case when the lumps array isn't nullptr the number of solids is equal to the number of elements in the array plus one.

Returns
The number of solids.

◆ operator[]() [1/2]

MbLump* MbMappingLumps::operator[] ( size_t  ind)
inline

A solid by an index.

A solid by an index.
The basic object is given by the "0" index.
An object with the index i - 1 from the lumps array is issued by the index i.
An index is validated for correctness. In a case of an incorrect index the method returns nullptr.

Returns
A pointer to a solid with a matrix.

◆ operator[]() [2/2]

const MbLump* MbMappingLumps::operator[] ( size_t  ind) const
inline

A solid by an index.

A solid by an index.
The basic object is given by the "0" index.
An object with the index i - 1 from the lumps array is issued by the index i.
An index is validated for correctness. In a case of an incorrect index the method returns nullptr.

Returns
A constant pointer to a solid with a matrix.

◆ IsBaseLump()

virtual bool MbMappingLumps::IsBaseLump ( ) const
inlinevirtual

Whether it is the basic object or not.

Whether it is the basic object or not.

Returns false. Returns true at the MbLump object.

Returns
false

Reimplemented from MbLump.

◆ SetCuttingType()

void MbMappingLumps::SetCuttingType ( bool  cut)
inline

Set type of cutting the solid.

Set type of cutting the solid.

Parameters
[in]baseView- Base or derive view.
[in]cut- Cut solid.

◆ WillCut()

bool MbMappingLumps::WillCut ( ) const
inline

Type of cutting the solid.

Type of cutting the solid.


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