Free Form Deformation of a 3D surface and point clouds, with structured lattice. More...
#include <FFDLattice.hpp>
Protected Member Functions | |
void | checkFilter () |
dvecarr3E | convertDisplToXYZ () |
darray3E | convertDisplToXYZ (darray3E &, int i) |
virtual void | plotOptionalResults () |
void | resizeMapDof () |
void | swap (FFDLattice &) noexcept |
Protected Member Functions inherited from mimmo::Lattice | |
void | resizeMapDof () |
void | swap (Lattice &) noexcept |
Protected Member Functions inherited from mimmo::BaseManipulation | |
void | _apply (MimmoPiercedVector< darray3E > &displacements) |
void | addChild (BaseManipulation *child) |
void | addParent (BaseManipulation *parent) |
void | addPinIn (BaseManipulation *objIn, PortID portR) |
void | addPinOut (BaseManipulation *objOut, PortID portS, PortID portR) |
void | cleanBufferIn (PortID port) |
template<typename T , typename O > | |
bool | createPortIn (O *obj, void(O::*setVar_)(T), PortID portR, bool mandatory=false, int family=0) |
template<typename T , typename O > | |
bool | createPortIn (T *var_, PortID portR, bool mandatory=false, int family=0) |
template<typename T , typename O > | |
bool | createPortOut (O *obj, T(O::*getVar_)(), PortID portS) |
template<typename T , typename O > | |
bool | createPortOut (T *var_, PortID portS) |
void | deletePorts () |
PortID | findPinIn (PortIn &pin) |
PortID | findPinOut (PortOut &pin) |
void | initializeLogger (bool logexists) |
void | readBufferIn (PortID port) |
void | removePinIn (BaseManipulation *objIn, PortID portR) |
void | removePinIn (PortID portR, int j) |
void | removePinOut (BaseManipulation *objOut, PortID portS) |
void | removePinOut (PortID portS, int j) |
void | setBufferIn (PortID port, mimmo::IBinaryStream &input) |
void | swap (BaseManipulation &x) noexcept |
void | unsetChild (BaseManipulation *child) |
void | unsetParent (BaseManipulation *parent) |
void | write (MimmoSharedPointer< MimmoObject > geometry) |
template<typename mpv_t > | |
void | write (MimmoSharedPointer< MimmoObject > geometry, MimmoPiercedVector< mpv_t > &data) |
template<typename mpv_t , typename... Args> | |
void | write (MimmoSharedPointer< MimmoObject > geometry, MimmoPiercedVector< mpv_t > &data, Args ... args) |
template<typename mpv_t > | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t > * > &data) |
template<typename mpv_t , typename... Args> | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t > * > &data, Args ... args) |
template<typename mpv_t > | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t >> &data) |
template<typename mpv_t , typename... Args> | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t >> &data, Args ... args) |
Protected Member Functions inherited from mimmo::UStructMesh | |
void | destroyNodalStructure () |
void | reshapeNodalStructure () |
void | resizeMesh () |
Additional Inherited Members | |
Public Types inherited from mimmo::BaseManipulation | |
typedef std::unordered_map< BaseManipulation *, int > | bmumap |
typedef pin::ConnectionType | ConnectionType |
typedef std::string | PortID |
Static Protected Attributes inherited from mimmo::BaseManipulation | |
static int | sm_baseManipulationCounter |
Detailed Description
Free Form Deformation of a 3D surface and point clouds, with structured lattice.
Free Form deformation tool for 3D geometries (surface and point clouds). Basically, it builds an elemental 3D shape (box, wedge, sphere or cylinder ) around the geometry and set a structured cartesian mesh of control points on it (lattice). Displacements of each control point are linked to the geometry inside the shape by means of a NURBS volumetric parameterization. Deformation will be applied only to those portion of geometry encased into the 3D shape.
Ports available in FFDLattice Class :
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
M_DISPLS | setDisplacements | (MC_VECARR3, MD_FLOAT) |
M_FILTER | setFilter | (MC_SCALAR, MD_MPVECFLOAT_) |
M_DEG | setDegrees | (MC_ARRAY3, MD_INT) |
M_NURBSWEIGHTS | setNodalWeight | (MC_VECTOR, MD_FLOAT) |
M_NURBSCOORDTYPE | setCoordType | (MC_ARRAY3, MD_COORDT) |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
M_GDISPLS | getDeformation | (MC_SCALAR, MD_MPVECARR3FLOAT_) |
M_DEG | getDegrees | (MC_ARRAY3, MD_INT) |
M_FILTER | getFilter | (MC_SCALAR, MD_MPVECFLOAT_) |
M_NURBSWEIGHTS | getWeights | (MC_VECTOR, MD_FLOAT) |
M_NURBSCOORDTYPE | getCoordType | (MC_ARRAY3, MD_COORDT) |
Inherited from Lattice :
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
M_GEOM | m_geometry | (MC_SCALAR, MD_MIMMO_) |
M_DIMENSION | setDimension | (MC_ARRAY3, MD_INT) |
M_INFLIMITS | setInfLimits | (MC_ARRAY3, MD_FLOAT) |
M_AXES | setRefSystem | (MC_ARR3ARR3, MD_FLOAT) |
M_SPAN | setSpan | (MC_ARRAY3, MD_FLOAT) |
M_POINT | setOrigin | (MC_ARRAY3, MD_FLOAT) |
M_SHAPE | setShape(mimmo::ShapeType) | (MC_SCALAR, MD_SHAPET) |
M_COPYSHAPE | setShape(const BasicShape ) | (MC_SCALAR, MD_SHAPE_ |
M_SHAPEI | setShape(int) | (MC_SCALAR, MD_INT) |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
M_GLOBAL | getGlobalCoords | (MC_VECARR3, MD_FLOAT) |
M_LOCAL | getLocalCoords | (MC_VECARR3, MD_FLOAT) |
M_POINT | getOrigin | (MC_ARRAY3, MD_FLOAT) |
M_AXES | getRefSystem | (MC_ARR3ARR3, MD_FLOAT) |
M_INFLIMITS | getInfLimits | (MC_ARRAY3, MD_FLOAT) |
M_SPAN | getSpan | (MC_ARRAY3, MD_FLOAT) |
M_DIMENSION | getDimension | (MC_ARRAY3, MD_INT) |
M_COPYSHAPE | getShape | (MC_SCALAR, MD_SHAPE_) |
M_GEOM | getGeometry | (MC_SCALAR, MD_MIMMO_) |
The xml available parameters, sections and subsections are the following :
Inherited from BaseManipulation:
- ClassName: name of the class as "mimmo.Lattice"
- Priority: uint marking priority in multi-chain execution;
- Apply: boolean 0/1 activate apply deformation result on target geometry directly in execution;
- PlotInExecution: boolean 0/1 print optional results of the class.
OutputPlot: target directory for optional results writing.
Inherited from Lattice:
- Shape: type of basic shape for your lattice. Available choice are CUBE, CYLINDER,SPHERE,WEDGE
- Origin: 3D point marking the shape barycenter
- Span: span dimensions of your shape (width-height-depth for CUBE, baseRadius-azimuthalspan-height for CYLINDER, radius-azimuthalspan-polarspan for SPHERE, triangle width-triangle height-depth for WEDGE)
- RefSystem: axes of current shape reference system. written in XML as:
<RefSystem>
<axis0> 1.0 0.0 0.0 </axis0>
<axis1> 0.0 1.0 0.0 </axis1>
<axis2> 0.0 0.0 1.0 </axis2>
</RefSystem>
- InfLimits: inferior limits for shape coordinates (meaningful only for CYLINDER AND SPHERE curvilinear coordinates)
- Dimension: number of nodes in each coordinate direction to get the structured lattice mesh
Proper of the class:
- CoordType: Set Boundary conditions for each NURBS interpolant on their extrema. Available choice are
CLAMPED,SYMMETRIC,UNCLAMPED, PERIODIC
; - Degrees: degrees for NURBS interpolant in each spatial direction;
- DisplGlobal:0/1 use shape-local/global x,y,z reference system to define displacements of lattice node;
Geometry, displacements field and filter field have to be mandatorily passed through port.
- Examples
- genericinput_example_00003.cpp, ioofoam_example_00001.cpp, manipulators_example_00002.cpp, manipulators_example_00003.cpp, manipulators_example_00004.cpp, manipulators_example_00005.cpp, and utils_example_00004.cpp.
Definition at line 133 of file FFDLattice.hpp.
Constructor & Destructor Documentation
◆ FFDLattice() [1/3]
mimmo::FFDLattice::FFDLattice | ( | ) |
Basic Constructor.
Definition at line 30 of file FFDLattice.cpp.
◆ FFDLattice() [2/3]
mimmo::FFDLattice::FFDLattice | ( | const bitpit::Config::Section & | rootXML | ) |
Custom constructor reading xml data
- Parameters
-
[in] rootXML reference to your xml tree section
Definition at line 44 of file FFDLattice.cpp.
◆ ~FFDLattice()
|
virtual |
Destructor
Definition at line 65 of file FFDLattice.cpp.
◆ FFDLattice() [3/3]
mimmo::FFDLattice::FFDLattice | ( | const FFDLattice & | other | ) |
Copy Constructor. Result displacements are never copied.
- Parameters
-
[in] other FFDLattice where copy from
Definition at line 70 of file FFDLattice.cpp.
Member Function Documentation
◆ absorbSectionXML()
|
virtual |
It sets infos reading from a XML bitpit::Config::section.
- Parameters
-
[in] slotXML bitpit::Config::Section of XML file [in] name name associated to the slot
Reimplemented from mimmo::Lattice.
Definition at line 1596 of file FFDLattice.cpp.
◆ apply() [1/4]
|
virtual |
Directly apply deformation field to target geometry.
Reimplemented from mimmo::BaseManipulation.
Definition at line 705 of file FFDLattice.cpp.
◆ apply() [2/4]
Apply current deformation setup to a single 3D point. If point is not included in lattice return zero. The method does not apply filter field modulation if any.
- Parameters
-
[in] point coordinate of the points
- Returns
- point displacement
Definition at line 634 of file FFDLattice.cpp.
◆ apply() [3/4]
Apply current deformation setup to a custom list of 3D points. Only points contained into the lattice will be deformed,displacement of the others will be set to zero. If point list is nullptr,return void results. The method does not apply filter field modulation if any.
- Parameters
-
[in] point pointer to a list of 3D points.
- Returns
- displacements of points
Definition at line 685 of file FFDLattice.cpp.
◆ apply() [4/4]
dvecarr3E mimmo::FFDLattice::apply | ( | livector1D & | list | ) |
Apply current deformation setup to geometry linked as a MimmoObject container, member of the class (see method getGeometry).If MimmoObject member m_geometry is nullptr,return void results.The method applies filter field modulation if any.
- Parameters
-
[out] list list of non-zero displacement of m_geometry vertices
- Returns
- list of ids of non-zero displaced vertex belonging to geometry
Definition at line 650 of file FFDLattice.cpp.
◆ build()
|
virtual |
Build your lattice and all your knot structures. Execute this method every time a parameter modification is applied, in order to enable it
- Returns
- id lattice is successfully built.
Reimplemented from mimmo::Lattice.
- Examples
- genericinput_example_00003.cpp, manipulators_example_00003.cpp, and manipulators_example_00004.cpp.
Definition at line 1565 of file FFDLattice.cpp.
◆ buildPorts()
|
virtual |
It builds the input/output ports of the object
Reimplemented from mimmo::Lattice.
Definition at line 117 of file FFDLattice.cpp.
◆ checkFilter()
|
protected |
Check if the filter is related to the target geometry. If not create a unitary filter field.
Definition at line 714 of file FFDLattice.cpp.
◆ clearFilter()
void mimmo::FFDLattice::clearFilter | ( | ) |
Clean filter field
Definition at line 151 of file FFDLattice.cpp.
◆ clearLattice()
void mimmo::FFDLattice::clearLattice | ( | ) |
Clean all stuffs in your lattice
Definition at line 141 of file FFDLattice.cpp.
◆ convertDisplToXYZ() [1/2]
|
protected |
Convert and return all target displacements (expressed in local shape ref frame) in XYZ frame
- Returns
- displacement in xyz ref frame
Definition at line 756 of file FFDLattice.cpp.
◆ convertDisplToXYZ() [2/2]
Convert a target displacement (expressed in local shape ref frame) in XYZ frame
- Parameters
-
[in] target target displacement [in] i reference displacement index
- Returns
- displacement in xyz ref frame
Definition at line 740 of file FFDLattice.cpp.
◆ execute()
|
virtual |
Given pointer to a reference geometry and, execute deformation w/ the current setup. Result is stored in BaseManipulation member m_gdispl. Execution build your mesh, if not done already.
Reimplemented from mimmo::Lattice.
Definition at line 580 of file FFDLattice.cpp.
◆ flushSectionXML()
|
virtual |
It sets infos from class members in a XML bitpit::Config::section.
- Parameters
-
[in] slotXML bitpit::Config::Section of XML file [in] name name associated to the slot
Reimplemented from mimmo::Lattice.
Definition at line 1651 of file FFDLattice.cpp.
◆ getDeformation()
dmpvecarr3E * mimmo::FFDLattice::getDeformation | ( | ) |
Return actual computed deformation field (if any) for the geometry linked.
- Returns
- deformation field
Definition at line 254 of file FFDLattice.cpp.
◆ getDegrees()
iarray3E mimmo::FFDLattice::getDegrees | ( | ) |
Get the degree of nurbs curve in each direction.
- Returns
- array of degree of nurbs curve in each direction
Definition at line 224 of file FFDLattice.cpp.
◆ getDisplacements()
dvecarr3E * mimmo::FFDLattice::getDisplacements | ( | ) |
It gets current DOF displacements of lattice.
- Returns
- displacements of control points.
Definition at line 236 of file FFDLattice.cpp.
◆ getFilter()
dmpvector1D * mimmo::FFDLattice::getFilter | ( | ) |
It gets current set filter field. See FFDLattice::setFilter
- Returns
- filter field.
Definition at line 245 of file FFDLattice.cpp.
◆ getKnotsDimension()
ivector1D mimmo::FFDLattice::getKnotsDimension | ( | ) |
Return a vector of six elements reporting the real number of knots effectively stored in the current class (first 3 elements) and the theoretical number of knots (last 3 elements) for Nurbs representation (see Nurbs Books of Peigl)
- Returns
- six elements vector
Definition at line 164 of file FFDLattice.cpp.
◆ getWeights()
dvector1D mimmo::FFDLattice::getWeights | ( | ) |
Return weight actually set for each control node
- Returns
- list of weights
Definition at line 184 of file FFDLattice.cpp.
◆ isDisplGlobal()
bool mimmo::FFDLattice::isDisplGlobal | ( | ) |
Check if displacements are meant as global-true or local-false. See setDisplGlobal method
- Returns
- global displacements flag
Definition at line 264 of file FFDLattice.cpp.
◆ operator=()
FFDLattice & mimmo::FFDLattice::operator= | ( | FFDLattice | other | ) |
Assignement operator. Result displacements are never copied.
Definition at line 88 of file FFDLattice.cpp.
◆ plotCloud()
void mimmo::FFDLattice::plotCloud | ( | std::string | directory, |
std::string | filename, | ||
int | counter, | ||
bool | binary, | ||
bool | deformed | ||
) |
Plot your current lattice as a point cloud to *vtu file. Wrapped method of plotCloud of father class UStructMesh.
- Parameters
-
[in] directory output directory [in] filename output filename w/out tag [in] counter integer identifier of the file [in] binary boolean flag for 0-"ascii" or 1-"appended" writing [in] deformed boolean flag for plotting 0-"original lattice", 1-"deformed lattice"
Definition at line 546 of file FFDLattice.cpp.
◆ plotGrid()
void mimmo::FFDLattice::plotGrid | ( | std::string | directory, |
std::string | filename, | ||
int | counter, | ||
bool | binary, | ||
bool | deformed | ||
) |
Plot your current lattice as a structured grid to *vtu file. Wrapped method of plotGrid of mother class UStrucMesh.
- Parameters
-
[in] directory output directory [in] filename output filename w/out tag [in] counter integer identifier of the file [in] binary boolean flag for 0-"ascii" or 1-"appended" writing [in] deformed boolean flag for plotting 0-"original lattice", 1-"deformed lattice"
Definition at line 506 of file FFDLattice.cpp.
◆ plotOptionalResults()
|
protectedvirtual |
Plot Optional results of the class, that is the lattice grid as a hexahedron mesh and as a point cloud in *.vtu format, for both undeformed/ deformed lattice mesh.
Reimplemented from mimmo::Lattice.
Definition at line 1428 of file FFDLattice.cpp.
◆ resizeMapDof()
|
protected |
Resize map of effective nodes of the lattice grid to fit a total number od degree of freedom nx*ny*nz. Old structure is deleted and reset to zero.
Definition at line 1417 of file FFDLattice.cpp.
◆ returnKnotsStructure() [1/2]
Return knots structure and theoretical map of knots distributions for the current Lattice
- Parameters
-
[out] knots list [out] mapTheo map of knots theoretical distribution
Definition at line 194 of file FFDLattice.cpp.
◆ returnKnotsStructure() [2/2]
Return knots structure and knot multiplicity vector for a specified Nurbs curve "dir"
- Parameters
-
[in] dir integer (0,1,2) identifies nurbs curve in x,y,and z direction respectively [out] knots list [out] mapT theoretical knot map distribution
Definition at line 210 of file FFDLattice.cpp.
◆ setDegrees()
void mimmo::FFDLattice::setDegrees | ( | iarray3E | degrees | ) |
Set the degree of nurbs curve in each direction. If the number of control nodes are not initialized, they are set to the minimum number admissible. Weights are reset to unitary value
- Parameters
-
[in] degrees vector of degree of nurbs curve in each direction
Definition at line 273 of file FFDLattice.cpp.
◆ setDisplacements()
void mimmo::FFDLattice::setDisplacements | ( | dvecarr3E | displacements | ) |
Set current DOF displacements of your lattice. If Input list does not fit current DOF size of lattice, return doing nothing.
- Parameters
-
[in] displacements of control nodes
- Examples
- ioofoam_example_00001.cpp, and utils_example_00004.cpp.
Definition at line 284 of file FFDLattice.cpp.
◆ setDisplGlobal()
void mimmo::FFDLattice::setDisplGlobal | ( | bool | flag | ) |
Set if displacements are meant as global-true or local-false. Global means that displacements are defined in world xyz coordinate. Local means that displacements are defined in local reference frame of the lattice, accounting of:
- lattice rigid roto-translation due to changing in Origin/RefSystem.
- lattice system coordinates transformation.
- Parameters
-
[in] flag global displacements flag
- Examples
- manipulators_example_00003.cpp.
Definition at line 298 of file FFDLattice.cpp.
◆ setFilter()
void mimmo::FFDLattice::setFilter | ( | dmpvector1D * | filter | ) |
Sets filter field. Note: filter field is defined on nodes of the current linked geometry. coherent size between field size and number of geometry vertices is expected.
- Parameters
-
[in] filter fields.
Definition at line 489 of file FFDLattice.cpp.
◆ setLattice() [1/4]
void mimmo::FFDLattice::setLattice | ( | BasicShape * | shape, |
dvector1D & | spacing, | ||
iarray3E & | degrees | ||
) |
Set lattice mesh, dimensions and curve degree for Nurbs trivariate parameterization. If curve degrees matches current cell Dimensions (n_nodes -1) in each coordinate, a Bezier trivariate parameterization is recovered. The lattice can be build also with inherited method setMesh. In this case, curve degrees are set to 1 by default. Use FFDLattice::setDegrees to customize later your curve degrees, and FFDLattice::build() method to apply your modifications.
- Parameters
-
[in] shape pointer to an external BasicShape object [in] spacing define spacing step for each lattice dimension [in] degrees curve degrees for each direction;
Definition at line 412 of file FFDLattice.cpp.
◆ setLattice() [2/4]
void mimmo::FFDLattice::setLattice | ( | BasicShape * | shape, |
iarray3E & | dimensions, | ||
iarray3E & | degrees | ||
) |
Set lattice mesh, dimensions and curve degree for Nurbs trivariate parameterization. If curve degrees matches current cell Dimensions (n_nodes -1) in each coordinate, a Bezier trivariate parameterization is recovered. The lattice can be build also with inherited method setMesh. In this case, curve degrees are set to 1 by default. Use FFDLattice::setDegrees to customize later your curve degrees, and FFDLattice::build() method to apply your modifications.
- Parameters
-
[in] shape pointer to an external BasicShape object [in] dimensions number of control nodes for each direction [in] degrees curve degrees for each direction;
Definition at line 391 of file FFDLattice.cpp.
◆ setLattice() [3/4]
void mimmo::FFDLattice::setLattice | ( | darray3E & | origin, |
darray3E & | span, | ||
ShapeType | type, | ||
dvector1D & | spacing, | ||
iarray3E & | degrees | ||
) |
Set lattice mesh, dimensions and curve degree for Nurbs trivariate parameterization. If curve degrees matches current cell Dimensions (n_nodes -1) in each coordinate, a Bezier trivariate parameterization is recovered.The lattice can be build also with inherited method setMesh. In this case, curve degrees are set to 1 by default. Use FFDLattice::setDegrees to customize later your curve degrees, and FFDLattice::build() method to apply your modifications.
- Parameters
-
[in] origin point origin in global reference system [in] span span for each shape coordinate in space (local r.s.) [in] type ShapeType enum identifies the shape [in] spacing define spacing step for each lattice dimension [in] degrees curve degrees for each direction;
Definition at line 342 of file FFDLattice.cpp.
◆ setLattice() [4/4]
void mimmo::FFDLattice::setLattice | ( | darray3E & | origin, |
darray3E & | span, | ||
ShapeType | type, | ||
iarray3E & | dimensions, | ||
iarray3E & | degrees | ||
) |
Set lattice mesh, dimensions and curve degree for Nurbs trivariate parameterization. If curve degrees matches current cell Dimensions (n_nodes -1) in each coordinate, a Bezier trivariate parameterization is recovered. The lattice can be build also with inherited method setMesh. In this case, curve degrees are set to 1 by default. Use FFDLattice::setDegrees to customize later your curve degrees, and FFDLattice::build() method to apply your modifications.
- Parameters
-
[in] origin point origin in global reference system [in] span span for each shape coordinate in space (local r.s.) [in] type ShapeType enum identifies the shape [in] dimensions number of control nodes for each direction [in] degrees curve degrees for each direction;
- Examples
- manipulators_example_00002.cpp, manipulators_example_00003.cpp, manipulators_example_00004.cpp, and manipulators_example_00005.cpp.
Definition at line 316 of file FFDLattice.cpp.
◆ setNodalWeight() [1/3]
void mimmo::FFDLattice::setNodalWeight | ( | double | val, |
int | index | ||
) |
Modify a weight of a control node. Access to a node in global GRID indexing
- Parameters
-
[in] val weight value [in] index index of the control node -> gloab indexing
Definition at line 453 of file FFDLattice.cpp.
◆ setNodalWeight() [2/3]
void mimmo::FFDLattice::setNodalWeight | ( | double | val, |
int | i, | ||
int | j, | ||
int | k | ||
) |
Modify a weight of a control node. Access to a node in GRID cartesian indexing
- Parameters
-
[in] val weight value [in] i index of x coordinate [in] j index of y coordinates [in] k index of z coordinate
Definition at line 466 of file FFDLattice.cpp.
◆ setNodalWeight() [3/3]
void mimmo::FFDLattice::setNodalWeight | ( | dvector1D | wg | ) |
Modify weights of each control node.
- Parameters
-
[in] wg weights vector of each nx*ny*nz control nodes
Definition at line 475 of file FFDLattice.cpp.
◆ swap()
|
protectednoexcept |
Member Data Documentation
◆ m_deg
|
protected |
Nurbs curve degree for each of the possible 3 direction in space
Definition at line 136 of file FFDLattice.hpp.
◆ m_displ
|
protected |
Displacements of control nodes.
Definition at line 140 of file FFDLattice.hpp.
◆ m_gdispl
|
protected |
Displacements of geometry vertex.
Definition at line 142 of file FFDLattice.hpp.
◆ m_knots
|
protected |
Nurbs curve knots for each of the possible 3 direction in space
Definition at line 137 of file FFDLattice.hpp.
◆ m_mapEff
|
protected |
Nurbs map of theoretical node distribution
Definition at line 138 of file FFDLattice.hpp.
◆ m_mapNodes
|
protected |
Internal map to access node index w/ knots structure theoretical indexing
Definition at line 141 of file FFDLattice.hpp.
◆ m_weights
|
protected |
Weights of each control node
Definition at line 139 of file FFDLattice.hpp.
The documentation for this class was generated from the following files:
- src/manipulators/FFDLattice.hpp
- src/manipulators/FFDLattice.cpp