Skip to content

itk::Constraints

Public Functions

Name
Constraints()
~Constraints()
void addPlane(const vnl_vector< double > & a, const vnl_vector< double > & b, const vnl_vector< double > & c)
void addSphere(const vnl_vector_fixed< double, DIMENSION > & v, double r)
void addFreeFormConstraint(std::shared_ptr< shapeworks::Mesh > mesh)
bool transformConstraints(const vnl_matrix_fixed< double, 4, 4 > & Trans)
bool transformPlanes(const vnl_matrix_fixed< double, 4, 4 > & Trans)
std::stringstream applyBoundaryConstraints(vnl_vector_fixed< double, 3 > & gradE, const Point< double, 3 > & pos)
std::stringstream applyBoundaryConstraints(vnl_vector_fixed< float, 3 > & gradE, const Point< double, 3 > & pos)
std::stringstream applyPlaneConstraints(vnl_vector_fixed< double, 3 > & gradE, const Point< double, 3 > & pos)
bool writePlanes(std::string filename)
bool writeSpheres(std::string filename)
bool writeFreeFormConstraint(std::string filename)
bool IsCuttingPlaneDefined() const
bool IsCuttingSphereDefined() const
std::vector< PlaneConstraint > * getPlaneConstraints()
std::vector< SphereConstraint > * GetSphereConstraints()
bool IsAnyViolated(const Point< double, 3 > & pos)
std::vector< int > planesViolated(Eigen::Vector3d pt)
void PrintAll()
std::string ViolationReport(const Point< double, 3 > & pos)
std::vector< std::vector< double > > ViolationReportData(const Point< double, 3 > & pos)
vnl_vector_fixed< double, 3 > ConstraintsGradient(const Point< double, 3 > & pos) const
vnl_vector_fixed< double, 3 > ConstraintsLagrangianGradient(const Point< double, 3 > & pos, const Point< double, 3 > & prepos, double C) const
void InitializeLagrangianParameters(double lambda, double mu, double z) const
void UpdateZs(const Point< double, 3 > & pos, double C)
void UpdateMus(const Point< double, 3 > & pos, double C)
bool GetActive()
void SetActive(bool ac)

Protected Attributes

Name
std::vector< PlaneConstraint > * planeConsts
std::vector< SphereConstraint > * sphereConsts
std::vector< FreeFormConstraint > * freeFormConsts

Public Functions Documentation

function Constraints

inline Constraints()

function ~Constraints

inline ~Constraints()

function addPlane

void addPlane(
    const vnl_vector< double > & a,
    const vnl_vector< double > & b,
    const vnl_vector< double > & c
)

function addSphere

void addSphere(
    const vnl_vector_fixed< double, DIMENSION > & v,
    double r
)

function addFreeFormConstraint

void addFreeFormConstraint(
    std::shared_ptr< shapeworks::Mesh > mesh
)

function transformConstraints

bool transformConstraints(
    const vnl_matrix_fixed< double, 4, 4 > & Trans
)

function transformPlanes

bool transformPlanes(
    const vnl_matrix_fixed< double, 4, 4 > & Trans
)

function applyBoundaryConstraints

std::stringstream applyBoundaryConstraints(
    vnl_vector_fixed< double, 3 > & gradE,
    const Point< double, 3 > & pos
)

function applyBoundaryConstraints

std::stringstream applyBoundaryConstraints(
    vnl_vector_fixed< float, 3 > & gradE,
    const Point< double, 3 > & pos
)

function applyPlaneConstraints

std::stringstream applyPlaneConstraints(
    vnl_vector_fixed< double, 3 > & gradE,
    const Point< double, 3 > & pos
)

function writePlanes

inline bool writePlanes(
    std::string filename
)

function writeSpheres

inline bool writeSpheres(
    std::string filename
)

function writeFreeFormConstraint

inline bool writeFreeFormConstraint(
    std::string filename
)

function IsCuttingPlaneDefined

inline bool IsCuttingPlaneDefined() const

function IsCuttingSphereDefined

inline bool IsCuttingSphereDefined() const

function getPlaneConstraints

inline std::vector< PlaneConstraint > * getPlaneConstraints()

function GetSphereConstraints

inline std::vector< SphereConstraint > * GetSphereConstraints()

function IsAnyViolated

inline bool IsAnyViolated(
    const Point< double, 3 > & pos
)

function planesViolated

inline std::vector< int > planesViolated(
    Eigen::Vector3d pt
)

function PrintAll

inline void PrintAll()

function ViolationReport

inline std::string ViolationReport(
    const Point< double, 3 > & pos
)

function ViolationReportData

inline std::vector< std::vector< double > > ViolationReportData(
    const Point< double, 3 > & pos
)

function ConstraintsGradient

inline vnl_vector_fixed< double, 3 > ConstraintsGradient(
    const Point< double, 3 > & pos
) const

function ConstraintsLagrangianGradient

inline vnl_vector_fixed< double, 3 > ConstraintsLagrangianGradient(
    const Point< double, 3 > & pos,
    const Point< double, 3 > & prepos,
    double C
) const

function InitializeLagrangianParameters

inline void InitializeLagrangianParameters(
    double lambda,
    double mu,
    double z
) const

function UpdateZs

inline void UpdateZs(
    const Point< double, 3 > & pos,
    double C
)

function UpdateMus

inline void UpdateMus(
    const Point< double, 3 > & pos,
    double C
)

function GetActive

inline bool GetActive()

function SetActive

inline void SetActive(
    bool ac
)

Protected Attributes Documentation

variable planeConsts

std::vector< PlaneConstraint > * planeConsts;

variable sphereConsts

std::vector< SphereConstraint > * sphereConsts;

variable freeFormConsts

std::vector< FreeFormConstraint > * freeFormConsts;

Updated on 2022-03-31 at 09:51:18 -0600