shapeworks::FreeFormConstraint
#include <FreeFormConstraint.h>
Inherits from shapeworks::Constraint
Public Functions
| Name | |
|---|---|
| FreeFormConstraint() | |
| void | setMesh(std::shared_ptr< shapeworks::Mesh > mesh) Sets the mesh that defines the FFC.  | 
| std::shared_ptr< shapeworks::Mesh > | getMesh() Returns the mesh that defines the FFC.  | 
| bool | readyForOptimize() const Prepares for optimize.  | 
| virtual bool | isViolated(const Eigen::Vector3d & pt) const override Returns if pt in Eigen format is violated by the constraint.  | 
| virtual void | print() const override Prints the constraint neatly.  | 
| virtual Eigen::Vector3d | constraintGradient(const Eigen::Vector3d & pt) const override Returns the gradient of the constraint.  | 
| virtual double | constraintEval(const Eigen::Vector3d & pt) const override Returns the evaluation on the constraint, i.e. the signed distance to the constraint boundary.  | 
| void | setDefinition(vtkSmartPointer< vtkPolyData > polyData) Set polydata where per-vertex free form constraint definition exists.  | 
| vtkSmartPointer< vtkPolyData > | getDefinition() Get polydata where per-vertex free form constraint definition exists.  | 
| void | applyToPolyData(vtkSmartPointer< vtkPolyData > polyData) Apply the free form constraint to a polydata.  | 
| std::vector< std::vector< Eigen::Vector3d > > & | boundaries() | 
| Eigen::Vector3d | getQueryPoint() | 
| void | setQueryPoint(Eigen::Vector3d queryPoint) | 
| void | computeBoundaries() | 
| void | setInoutPolyData(vtkSmartPointer< vtkPolyData > polyData) Set the in/out polydata.  | 
| vtkSmartPointer< vtkPolyData > | getInoutPolyData() Get the in/out polydata.  | 
| void | createInoutPolyData() Create the in/out poly data from the definition poly data.  | 
| bool | isSet() Return if this FFC is set or not.  | 
| void | setPainted(bool painted) Set if this FFC has paint on it or not.  | 
| void | reset() Reset to initial state.  | 
| void | computeGradientFields(std::shared_ptr< Mesh > mesh) Compute gradient fields for a mesh.  | 
| void | convertLegacyFFC(vtkSmartPointer< vtkPolyData > polyData) Convert legacy FFC to new format.  | 
Additional inherited members
Public Functions inherited from shapeworks::Constraint
| Name | |
|---|---|
| void | setMus(std::vector< double > inmu) Initializes mu.  | 
| std::vector< double > | getMus() Gets mu.  | 
| void | updateMu(const Eigen::Vector3d & pt, double C, size_t index) Updates the value of mu according to the augmented lagrangian update.  | 
| Eigen::Vector3d | lagragianGradient(const Eigen::Vector3d & pt, double C, size_t index) const Computes the lagrangian gradient based on lagrangian inequality equations. NOTE: Not actually lagrangian. We are using quadratic penalty and not lagrangian because it works better.  | 
Protected Functions inherited from shapeworks::Constraint
| Name | |
|---|---|
| int | sgn(double val) Returns the sign of the double.  | 
Protected Attributes inherited from shapeworks::Constraint
| Name | |
|---|---|
| std::vector< double > | mus_  Mu is the lagrangian momentum term.  | 
Detailed Description
class shapeworks::FreeFormConstraint;
Encapsulate functionality related to free-form constraints (FFC). Inherits from Constraint. See [Constraint.h] for more information
Public Functions Documentation
function FreeFormConstraint
inline FreeFormConstraint()
function setMesh
inline void setMesh(
    std::shared_ptr< shapeworks::Mesh > mesh
)
Sets the mesh that defines the FFC.
function getMesh
inline std::shared_ptr< shapeworks::Mesh > getMesh()
Returns the mesh that defines the FFC.
function readyForOptimize
bool readyForOptimize() const
Prepares for optimize.
function isViolated
virtual bool isViolated(
    const Eigen::Vector3d & pt
) const override
Returns if pt in Eigen format is violated by the constraint.
Reimplements: shapeworks::Constraint::isViolated
function print
inline virtual void print() const override
Prints the constraint neatly.
Reimplements: shapeworks::Constraint::print
function constraintGradient
inline virtual Eigen::Vector3d constraintGradient(
    const Eigen::Vector3d & pt
) const override
Returns the gradient of the constraint.
Reimplements: shapeworks::Constraint::constraintGradient
function constraintEval
inline virtual double constraintEval(
    const Eigen::Vector3d & pt
) const override
Returns the evaluation on the constraint, i.e. the signed distance to the constraint boundary.
Reimplements: shapeworks::Constraint::constraintEval
function setDefinition
void setDefinition(
    vtkSmartPointer< vtkPolyData > polyData
)
Set polydata where per-vertex free form constraint definition exists.
function getDefinition
inline vtkSmartPointer< vtkPolyData > getDefinition()
Get polydata where per-vertex free form constraint definition exists.
function applyToPolyData
void applyToPolyData(
    vtkSmartPointer< vtkPolyData > polyData
)
Apply the free form constraint to a polydata.
function boundaries
std::vector< std::vector< Eigen::Vector3d > > & boundaries()
Deprecated:
Access the set of boundaries
function getQueryPoint
inline Eigen::Vector3d getQueryPoint()
Deprecated:
Get query (inside) point
function setQueryPoint
inline void setQueryPoint(
    Eigen::Vector3d queryPoint
)
Deprecated:
Set query (inside) point
function computeBoundaries
void computeBoundaries()
Deprecated:
Compute boundaries from definition polydata with ffc_paint scalars
function setInoutPolyData
inline void setInoutPolyData(
    vtkSmartPointer< vtkPolyData > polyData
)
Set the in/out polydata.
function getInoutPolyData
inline vtkSmartPointer< vtkPolyData > getInoutPolyData()
Get the in/out polydata.
function createInoutPolyData
void createInoutPolyData()
Create the in/out poly data from the definition poly data.
function isSet
bool isSet()
Return if this FFC is set or not.
function setPainted
void setPainted(
    bool painted
)
Set if this FFC has paint on it or not.
function reset
void reset()
Reset to initial state.
function computeGradientFields
void computeGradientFields(
    std::shared_ptr< Mesh > mesh
)
Compute gradient fields for a mesh.
function convertLegacyFFC
void convertLegacyFFC(
    vtkSmartPointer< vtkPolyData > polyData
)
Convert legacy FFC to new format.
Updated on 2024-03-17 at 12:58:44 -0600