C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
AssemblyGenerator Class Reference

Assembly generator. More...

#include <gcm_mates_generator.h>

Public Types

enum  TMMateType
 < Type of connection between the bricks in the assembly.
 
enum  TMBrickMateType { tbmt_1Mate = 1 , tbmt_2Mate = 2 , tbmt_3Mate = 3 , tbmt_Rigid = tbmt_3Mate }
 < Type of connection between the boxes. More...
 

Public Member Functions

size_t GenerateLine (MtBoxVector &line, size_t n, TMBrickMateType mttype=tbmt_Rigid)
 Generate a line from boxes.
 
size_t GenerateWall (MtBoxVector &wall, size_t n, TMBrickMateType mttype=tbmt_Rigid)
 Generate a wall from boxes.
 
size_t GenerateCube (MtBoxVector &cube, size_t n, TMBrickMateType mttype=tbmt_Rigid)
 Generate a cube from boxes.
 
size_t GenerateFractal (MtBlocksVector &fractal, size_t n, TMMateType mttype=tmt_Rigid3Bricks, TMBrickMateType bmttype=tbmt_3Mate)
 Generate fractal.
 
size_t NonRigidDistributedDoF (MtBlocksVector &assembly, size_t nBlocks, TMMateType mttype=tmt_NonRigidAxis, TMBrickMateType bmttype=tbmt_3Mate)
 Generate a non-rigid mating assembly with distributed degrees of freedom.
 
size_t RigidDistributedDoF (MtBlocksVector &assembly, size_t nRings, size_t nBlocksInRing, TMMateType matetype=tmt_Rigid2Axis, TMBrickMateType bmttype=tbmt_3Mate, double dist=0.)
 Generate a rigid mating assembly with distributed degrees of freedom.
 
void ShiftBoxes (MtBoxVector &boxes, const MbVector3D &shift, bool comulative, bool shiftfirst=false)
 Shift boxes.
 
void ShiftBoxes (MtBlocksVector &boxes, const MbVector3D &shift, bool comulative, bool shiftfirst=false)
 Shift blocks.

 
void RotateBoxes (MtBoxVector &boxes, const MbVector3D &angles, bool comulative)
 Rotate boxes.
 
void RotateBoxes (MtBlocksVector &boxes, const MbVector3D &angles, bool comulative)
 Rotate blocks.
 

Detailed Description

Assembly generator.

Member Enumeration Documentation

◆ TMBrickMateType

< Type of connection between the boxes.

Enumerator
tbmt_1Mate 

Coincidence of opposite planes.

tbmt_2Mate 

Coincidence of opposite planes + 1-pair of codirected.

tbmt_3Mate 

Coincidence of opposite planes + 2-pairs of codirected (hard link).

tbmt_Rigid 

Rigid link.


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