lscmrelax::LscmRelax Class Reference

#include <MeshFlatteningLscmRelax.h>

Public Member Functions

void area_relax (double)
 
void edge_relax (double)
 
double get_area ()
 
double get_flat_area ()
 
ColMat< double, 3 > get_flat_vertices_3D ()
 
void lscm ()
 
 LscmRelax ()
 
 LscmRelax (RowMat< double, 3 > vertices, RowMat< long, 3 > triangles, std::vector< long > fixed_pins)
 
void relax (double)
 
void rotate_by_min_bound_area ()
 
void transform (bool scale=false)
 

Public Attributes

double elasticity =1.
 
std::vector< long > fixed_pins
 
RowMat< double, 2 > flat_vertices
 
Eigen::MatrixXd MATRIX
 
double nue =0.9
 
ColMat< double, 1 > rhs
 
RowMat< long, 3 > triangles
 
RowMat< double, 3 > vertices
 

Constructor & Destructor Documentation

◆ LscmRelax() [1/2]

lscmrelax::LscmRelax::LscmRelax ( )

◆ LscmRelax() [2/2]

lscmrelax::LscmRelax::LscmRelax ( RowMat< double, 3 >  vertices,
RowMat< long, 3 >  triangles,
std::vector< long >  fixed_pins 
)

Member Function Documentation

◆ area_relax()

void lscmrelax::LscmRelax::area_relax ( double  weight)

◆ edge_relax()

void lscmrelax::LscmRelax::edge_relax ( double  weight)

References flat_vertices, rhs, triangles, and vertices.

◆ get_area()

double lscmrelax::LscmRelax::get_area ( )

References triangles.

◆ get_flat_area()

double lscmrelax::LscmRelax::get_flat_area ( )

References triangles.

◆ get_flat_vertices_3D()

ColMat< double, 3 > lscmrelax::LscmRelax::get_flat_vertices_3D ( )

References flat_vertices.

◆ lscm()

void lscmrelax::LscmRelax::lscm ( )

◆ relax()

void lscmrelax::LscmRelax::relax ( double  weight)

◆ rotate_by_min_bound_area()

void lscmrelax::LscmRelax::rotate_by_min_bound_area ( )

References flat_vertices.

◆ transform()

Member Data Documentation

◆ elasticity

double lscmrelax::LscmRelax::elasticity =1.

Referenced by LscmRelax().

◆ fixed_pins

std::vector<long> lscmrelax::LscmRelax::fixed_pins

Referenced by lscm(), and LscmRelax().

◆ flat_vertices

◆ MATRIX

Eigen::MatrixXd lscmrelax::LscmRelax::MATRIX

◆ nue

double lscmrelax::LscmRelax::nue =0.9

Referenced by LscmRelax().

◆ rhs

ColMat<double, 1> lscmrelax::LscmRelax::rhs

Referenced by area_relax(), edge_relax(), lscm(), and relax().

◆ triangles

RowMat<long, 3> lscmrelax::LscmRelax::triangles

◆ vertices

RowMat<double, 3> lscmrelax::LscmRelax::vertices

The documentation for this class was generated from the following files:
  • Sources/FreeCAD/src/Mod/MeshPart/App/MeshFlatteningLscmRelax.h
  • Sources/FreeCAD/src/Mod/MeshPart/App/MeshFlatteningLscmRelax.cpp