    

 ## On this page

  

 

 # CoarseRigidTransformation Class Reference

 Last update: 16.07.2025 

This algorithms automatically transformates one structure to the center of origin of the other. The center of origin is defined by the boundary surface of both structures. [More...](class_coarse_rigid_transformation.xhtml#details)

## <a name="pub-types"></a>Public Types

enum [Type](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7) {   
 [eNEUTRAL\_TRANS](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a2d5c3933900d9305ee3ab4eaf1c8eb41) =0, [eCOARSE\_TRANS](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a8ac858363c69f6aa4f5c8c53707e59d9), [eCOARSE\_ROT](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7aea911dad52b010b8282c411af58e6539), [eCOARSE\_ROT\_TRANS](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a4f10521c7d01709e9fe29913bc74dc47),   
 [eFINE\_ROT\_TRANS](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a8f71931fda1acc6fdf8e362cbb879ebb), [eFINE\_ROT\_TRANS\_PREALIGNED](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7a639264569cf302a509a30ecd4f9742f3)  
 } an enum type defining the type of the derived class [More...](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7)  
 ## <a name="pub-methods"></a>Public Member Functions

 [applyTransformation](class_coor_transformation_base.xhtml#afdd491598da35029e3a478c72526fe8c) ([MeshMapperBase](class_mesh_mapper_base.xhtml) mapper, [Structure](class_structure.xhtml) ref\_structure, [Structure](class_structure.xhtml) other\_structure) Applies the coordinate transformation to the other\_structure. [More...](#afdd491598da35029e3a478c72526fe8c)  
 <a id="acdc39899824e3e4f990fa484a5bfeffc"></a> [CoarseRigidTransformation](class_coarse_rigid_transformation.xhtml#acdc39899824e3e4f990fa484a5bfeffc) () Default constructor initializing a seed for the coarse rotation algorithm only.   
 <a id="a4c08123493eac27bd3f5d4b1677d5216"></a>virtual bool **doesNonRigid** () const virtual bool [doesNonRigid](class_coor_transformation_base.xhtml#ac87710c0a9a888274234344ca0aae257) ()=0 <a id="a88967972d7794f92c67833d07e6657e8"></a>virtual bool **doesRotate** () const virtual bool [doesRotate](class_coor_transformation_base.xhtml#ae1841e85a58acb38cc648818485e265f) ()=0 <a id="aaaa2804e8d3e418fbd03b34fc8a52401"></a>virtual bool **doesTranslate** () const virtual bool [doesTranslate](class_coor_transformation_base.xhtml#a0c6d1696bb7fa057700433a238ac628b) ()=0 virtual string [generateScriptOfSettingsDefinition](class_coarse_rigid_transformation.xhtml#ac225d733c7c2cc84e76682c9f5b4c7d2) (string variable\_ident) generates a script string (Lua) that is used to build up this object. [More...](#ac225d733c7c2cc84e76682c9f5b4c7d2)  
 virtual [Type](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7) [trafoType](class_coarse_rigid_transformation.xhtml#a54b19d55d0fc1d118b49c425a6b71d12) () ## <a name="pub-attribs"></a>Public Attributes

<a id="a29c920e8d9caac392af34838529b3de9"></a>number [seed](class_coarse_rigid_transformation.xhtml#a29c920e8d9caac392af34838529b3de9) The seed for the randomly choosen restart design of the coarse rotation.   
 std::pair&lt; string, string &gt; [trafo\_ref\_node\_set](class_coor_transformation_base.xhtml#a82e5d668866e3c7af7831eb0463db6f1) The ident of the reference node set the transformation algorithms will be limited to set up their optimization criterion. [More...](#a82e5d668866e3c7af7831eb0463db6f1)  
 <a id="details" name="details"></a>## Detailed Description

This algorithms automatically transformates one structure to the center of origin of the other. The center of origin is defined by the boundary surface of both structures.



## Member Enumeration Documentation

<a id="a1d1cfd8ffb84e947f82999c682b666a7"></a>## [◆ ](#a1d1cfd8ffb84e947f82999c682b666a7)Type

 enum [Type](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7)  inherited 

an enum type defining the type of the derived class

Enumerator<a id="a1d1cfd8ffb84e947f82999c682b666a7a2d5c3933900d9305ee3ab4eaf1c8eb41"></a>eNEUTRAL\_TRANS Neutral transformation.

<a id="a1d1cfd8ffb84e947f82999c682b666a7a8ac858363c69f6aa4f5c8c53707e59d9"></a>eCOARSE\_TRANS [CoarseTranslation](class_coarse_translation.xhtml "This algorithms automatically translates one structure to the center of origin of the other...").

<a id="a1d1cfd8ffb84e947f82999c682b666a7aea911dad52b010b8282c411af58e6539"></a>eCOARSE\_ROT [CoarseRotation](class_coarse_rotation.xhtml "This algorithms automatically rotates one structure to the center of origin of the other...").

<a id="a1d1cfd8ffb84e947f82999c682b666a7a4f10521c7d01709e9fe29913bc74dc47"></a>eCOARSE\_ROT\_TRANS [CoarseRigidTransformation](class_coarse_rigid_transformation.xhtml "This algorithms automatically transformates one structure to the center of origin of the other...").

<a id="a1d1cfd8ffb84e947f82999c682b666a7a8f71931fda1acc6fdf8e362cbb879ebb"></a>eFINE\_ROT\_TRANS [FineRigidTransformation](class_fine_rigid_transformation.xhtml "Tries to match a source point cloud with a reference point cloud using the coarse transformation (see...").

<a id="a1d1cfd8ffb84e947f82999c682b666a7a639264569cf302a509a30ecd4f9742f3"></a>eFINE\_ROT\_TRANS\_PREALIGNED [FineRigidTransformation](class_fine_rigid_transformation.xhtml "Tries to match a source point cloud with a reference point cloud using the coarse transformation (see...") of pre-aligned point clouds.





## Member Function Documentation

<a id="afdd491598da35029e3a478c72526fe8c"></a>## [◆ ](#afdd491598da35029e3a478c72526fe8c)applyTransformation()

 applyTransformation  ( [MeshMapperBase](class_mesh_mapper_base.xhtml)  *mapper*,    [Structure](class_structure.xhtml)  *ref\_structure*,    [Structure](class_structure.xhtml)  *other\_structure*   )   inherited 

Applies the coordinate transformation to the other\_structure.

If a transformation reference node set has been defined, only those nodes included in the sets will be used to determine the transformation matrix. Otherwise all nodes of both structures will be used for the determination algorithm. Nevertheless, the transformation itself will be applied to all nodes of the other\_structure. It might also occur, that the reference node set cannot be found in the other\_structure. In such a case, the reference node set will be projected onto the segments of the other\_structure and used as virtual node set.

Parameters \[in\]mapperA back reference to the current mesh mapper. This one might be needed if a defined reference node set cannot be found in the other\_structure \[in\]ref\_structureThe reference mesh \[in,out\]other\_structureOn input the imported mesh. On output the mesh with modified coordinates. 



<a id="ac87710c0a9a888274234344ca0aae257"></a>## [◆ ](#ac87710c0a9a888274234344ca0aae257)doesNonRigid()

 virtual bool doesNonRigid  ( )   pure virtualinherited 

Returnstrue if this transformation applies a non-rigid operation Implemented in [NeutralCoorTransformation](class_neutral_coor_transformation.xhtml#a6e9fff1a6c26387078d83c1609c2edc0), and [CoarseRotation](class_coarse_rotation.xhtml#a6e9fff1a6c26387078d83c1609c2edc0).





<a id="ae1841e85a58acb38cc648818485e265f"></a>## [◆ ](#ae1841e85a58acb38cc648818485e265f)doesRotate()

 virtual bool doesRotate  ( )   pure virtualinherited 

Returnstrue if this transformation applies a rigid rotation Implemented in [NeutralCoorTransformation](class_neutral_coor_transformation.xhtml#a2db558b5b102b9a6effd23683effa336), and [CoarseRotation](class_coarse_rotation.xhtml#a2db558b5b102b9a6effd23683effa336).





<a id="a0c6d1696bb7fa057700433a238ac628b"></a>## [◆ ](#a0c6d1696bb7fa057700433a238ac628b)doesTranslate()

 virtual bool doesTranslate  ( )   pure virtualinherited 

Returnstrue if this transformation applies a rigid translation Implemented in [NeutralCoorTransformation](class_neutral_coor_transformation.xhtml#a9dfae9c4461dc2b2e4ccb32245c94dcb), and [CoarseRotation](class_coarse_rotation.xhtml#a9dfae9c4461dc2b2e4ccb32245c94dcb).





<a id="ac225d733c7c2cc84e76682c9f5b4c7d2"></a>## [◆ ](#ac225d733c7c2cc84e76682c9f5b4c7d2)generateScriptOfSettingsDefinition()

 virtual string generateScriptOfSettingsDefinition  ( string  *variable\_ident*)   virtual 

generates a script string (Lua) that is used to build up this object.

Returnsthe script code, ends with newline. Parameters variable\_identthe ident of the Lua variable that contains the MeshMapper object Implements [CoorTransformationBase](class_coor_transformation_base.xhtml#a5f5fbbea63d66795a7350e53e99d5c59).





<a id="a54b19d55d0fc1d118b49c425a6b71d12"></a>## [◆ ](#a54b19d55d0fc1d118b49c425a6b71d12)trafoType()

 virtual [Type](class_coor_transformation_base.xhtml#a1d1cfd8ffb84e947f82999c682b666a7) trafoType  ( )   virtual 

Returnsthe type of the transformation Implements [CoorTransformationBase](class_coor_transformation_base.xhtml#a6f3bf49f542989a2d568060325588a3f).





## Member Data Documentation

<a id="a82e5d668866e3c7af7831eb0463db6f1"></a>## [◆ ](#a82e5d668866e3c7af7831eb0463db6f1)trafo\_ref\_node\_set

 std::pair&lt; string, string &gt; trafo\_ref\_node\_set  inherited 

The ident of the reference node set the transformation algorithms will be limited to set up their optimization criterion.

A pair consisting of the part ident as first and the set ident as second member.