#include <MeshTransform.hpp>
Public Member Functions | |
MeshTransform (Matrix3D &in_mat, Vector3D &in_vec, MsqError &err) | |
virtual | ~MeshTransform () |
virtual double | loop_over_mesh (MeshSet &ms, MsqError &err) |
Loop over the mesh and perform the affine transformation. More... | |
virtual msq_std::string | get_name () |
Return the name of this PatchDataUser: Mesh Transform. More... | |
virtual AlgorithmType | get_algorithm_type () |
Return the AlgorithmType of thsi PatchDataUser: MESH_TRANSFORM. More... | |
virtual void | set_patch_type (PatchData::PatchType patch_type, MsqError &err, int param1, int param2) |
MeshTransform is built to use ELEMETNS_ON_VERTEX_PATCH with a depth one. More... | |
MeshTransform (Matrix3D &in_mat, Vector3D &in_vec, MsqError &err) | |
virtual | ~MeshTransform () |
virtual double | loop_over_mesh (MeshSet &ms, MsqError &err) |
Loop over the mesh and perform the affine transformation. More... | |
virtual msq_std::string | get_name () |
Return the name of this PatchDataUser: Mesh Transform. More... | |
virtual AlgorithmType | get_algorithm_type () |
Return the AlgorithmType of thsi PatchDataUser: MESH_TRANSFORM. More... | |
virtual void | set_patch_type (PatchData::PatchType patch_type, MsqError &err, int param1, int param2) |
MeshTransform is built to use ELEMETNS_ON_VERTEX_PATCH with a depth one. More... | |
Public Member Functions inherited from PatchDataUser | |
virtual | ~PatchDataUser () |
PatchData::PatchType | get_patch_type () |
Returns the Patch Type. More... | |
int | get_nb_layers (MsqError &err) |
Returns number of layers (if relevant for partition algorythm). More... | |
void | add_culling_method (enum PatchData::culling_method cm) |
Sets on the culling method passed as argument. More... | |
void | no_culling_method () |
Sets off all culling methods. More... | |
void | remove_culling_method (enum PatchData::culling_method cm) |
Sets off the culling method passed as argument. More... | |
long unsigned int | get_culling_method_bits () |
Returns the bitset containing culling methods flags. More... | |
void | set_all_parameters (PatchDataParameters ¶ms) |
PatchDataParameters & | get_all_parameters () |
Returns the PatchDataParameters object. More... | |
void | set_global_patch (PatchData *pd, MsqError &err) |
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser. More... | |
PatchData * | get_global_patch () |
Returns the Global Patch. More... | |
void | no_global_patch () |
Sets the Global Patch pointer to NULL. More... | |
virtual | ~PatchDataUser () |
PatchData::PatchType | get_patch_type () |
Returns the Patch Type. More... | |
int | get_nb_layers (MsqError &err) |
Returns number of layers (if relevant for partition algorythm). More... | |
void | add_culling_method (enum PatchData::culling_method cm) |
Sets on the culling method passed as argument. More... | |
void | no_culling_method () |
Sets off all culling methods. More... | |
void | remove_culling_method (enum PatchData::culling_method cm) |
Sets off the culling method passed as argument. More... | |
long unsigned int | get_culling_method_bits () |
Returns the bitset containing culling methods flags. More... | |
void | set_all_parameters (PatchDataParameters ¶ms) |
PatchDataParameters & | get_all_parameters () |
Returns the PatchDataParameters object. More... | |
void | set_global_patch (PatchData *pd, MsqError &err) |
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser. More... | |
PatchData * | get_global_patch () |
Returns the Global Patch. More... | |
void | no_global_patch () |
Sets the Global Patch pointer to NULL. More... | |
Private Attributes | |
Matrix3D | mMat |
Vector3D | mVec |
Matrix for the affine transformation. More... | |
Additional Inherited Members | |
Public Types inherited from PatchDataUser | |
enum | AlgorithmType { QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR, QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR } |
enum | AlgorithmType { QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR, QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR } |
Protected Member Functions inherited from PatchDataUser | |
PatchDataUser () | |
PatchDataUser () | |
Perform an Affine transformation on Mesh vertex positions. Essentially define the new vertex position, v_new, from the original vertex position, v_old, s.t. v_new = (mMat * v_old) + mVec, where mMat is a constant matrix and mVec is a constant vector.
Definition at line 58 of file includeLinks/MeshTransform.hpp.
MeshTransform | ( | Matrix3D & | in_mat, |
Vector3D & | in_vec, | ||
MsqError & | err | ||
) |
Constructor sets the matrix and the vector for the affine transformation. It also sets the patch type and culling method. My default the patches are just created such that a patch is created around each vertex but no elements are added to the patch (each patch consists of a single vertex, ELEMENTS_ON_VERTEX_PATCH with a layer depth of 1).
Definition at line 50 of file Misc/MeshTransform.cpp.
References PatchData::ELEMENTS_ON_VERTEX_PATCH, MeshTransform::mMat, MeshTransform::mVec, PatchDataUser::no_culling_method(), and MeshTransform::set_patch_type().
|
inlinevirtual |
Definition at line 64 of file includeLinks/MeshTransform.hpp.
MeshTransform | ( | Matrix3D & | in_mat, |
Vector3D & | in_vec, | ||
MsqError & | err | ||
) |
|
inlinevirtual |
Definition at line 64 of file src/Misc/MeshTransform.hpp.
|
inlinevirtual |
Return the AlgorithmType of thsi PatchDataUser: MESH_TRANSFORM.
Implements PatchDataUser.
Definition at line 71 of file includeLinks/MeshTransform.hpp.
References PatchDataUser::MESH_TRANSFORM.
|
inlinevirtual |
Return the AlgorithmType of thsi PatchDataUser: MESH_TRANSFORM.
Implements PatchDataUser.
Definition at line 71 of file src/Misc/MeshTransform.hpp.
References PatchDataUser::MESH_TRANSFORM.
|
inlinevirtual |
Return the name of this PatchDataUser: Mesh Transform.
Implements PatchDataUser.
Definition at line 69 of file includeLinks/MeshTransform.hpp.
|
inlinevirtual |
Return the name of this PatchDataUser: Mesh Transform.
Implements PatchDataUser.
Definition at line 69 of file src/Misc/MeshTransform.hpp.
Loop over the mesh and perform the affine transformation.
Implements PatchDataUser.
Loop over the mesh and perform the affine transformation.
Actually apply the affine transformation
const | MeshSet &: this MeshSet is looped over. Only the mutable data members are changed (such as currentVertexInd). |
Implements PatchDataUser.
Definition at line 72 of file Misc/MeshTransform.cpp.
References PatchData::ELEMENTS_ON_VERTEX_PATCH, MeshSet::get_next_patch(), PatchDataUser::get_patch_type(), PatchData::get_vertex_array(), MsqError::INVALID_STATE, MeshTransform::mMat, MSQ_SETERR, MeshTransform::mVec, PatchData::num_vertices(), and PatchData::update_mesh().
|
virtual |
MeshTransform is built to use ELEMETNS_ON_VERTEX_PATCH with a depth one.
We implement set_patch_type to ensure this is the patch that is used.
Reimplemented from PatchDataUser.
|
virtual |
MeshTransform is built to use ELEMETNS_ON_VERTEX_PATCH with a depth one.
We implement set_patch_type to ensure this is the patch that is used.
Reimplemented from PatchDataUser.
Definition at line 57 of file Misc/MeshTransform.cpp.
References PatchData::ELEMENTS_ON_VERTEX_PATCH, MsqError::INVALID_ARG, MSQ_SETERR, and PatchDataUser::set_patch_type().
Referenced by MeshTransform::MeshTransform().
|
private |
Definition at line 79 of file includeLinks/MeshTransform.hpp.
Referenced by MeshTransform::loop_over_mesh(), and MeshTransform::MeshTransform().
|
private |
Matrix for the affine transformation.
Definition at line 80 of file includeLinks/MeshTransform.hpp.
Referenced by MeshTransform::loop_over_mesh(), and MeshTransform::MeshTransform().