ShapeOp  0.1.0
Classes | Typedefs | Functions
ShapeOp Namespace Reference

Namespace of the ShapeOp library. More...

Classes

class  AngleConstraint
 Angle range constraint. Constrains the angle between the two lines formed by three points to a range. See [3] for more details. More...
 
class  AreaConstraint
 Area constraint. Limits the area of a triangle to a range. See [2] for more details. More...
 
class  BendingConstraint
 Bending constraint. Limits the bending between two neighboring triangles. See [2] for more details. More...
 
class  CGSolver
 Sparse linear system solver based on CG. This class implements a sparse linear system solver based on the CG algorithm from Eigen. More...
 
class  CircleConstraint
 Circle constraint. Constrains a set of vertices to lie on the same circle. See [1] for more details. More...
 
class  ClosenessConstraint
 Closeness constraint. Constrains a vertex to a position in space. Projects onto a given rest position. More...
 
class  Constraint
 Base class of any constraints. This class defines the interface of a ShapeOp constraint. More...
 
class  EdgeStrainConstraint
 Edge strain constraint. Constrains the distance between two points to a range. See [2] for more details. More...
 
class  Force
 Base class of any forces. This class defines interface of a ShapeOp force. More...
 
class  GravityForce
 This class defines a constant force for all vertices. More...
 
class  LineConstraint
 Line constraint. Constrains a set of vertices to lie on the same line. See [1] for more details. More...
 
class  LSSolver
 Base class of any sparse linear system solver. This class defines the main functionalities of the ShapeOp sparse linear system solvers (Ax = b). More...
 
class  MINRESSolver
 Sparse linear system solver based on MINRES. This class implements a sparse linear system solver based on the MINRES algorithm from Eigen. More...
 
class  ParallelogramConstraint
 ParallelogramConstraint constraint. Constrains the four vertices of a quad to be a parallelogram. See [1] for more details. More...
 
class  PlaneConstraint
 Plane constraint. Constrains a set of vertices to lie on the same plane. See [1] for more details. More...
 
class  RectangleConstraint
 Rectangle constraint. Constrains the four vertices of a quad to be a rectangle. See [1] for more details. More...
 
class  SimilarityConstraint
 Similarity or Rigid constraint. Perserves the relative location of a set of vertices. See [1] for more details. More...
 
class  SimplicialLDLTSolver
 Sparse linear system solver based on Cholesky. This class implements a sparse linear system solver based on the Cholesky LDL^T algorithm from Eigen. More...
 
class  Solver
 ShapeOp Solver. This class implements the main ShapeOp solver based on [1] and [2]. More...
 
class  SORSolver
 Sparse linear system solver based on successive over-relaxation (SOR). More...
 
class  SphereConstraint
 Sphere constraint. Constrains a set of vertices to lie on a sphere. See [1] for more details. More...
 
class  TetrahedronStrainConstraint
 A mesh-independent tetrahedron strain-limiting constraint. See [2] for more details. More...
 
class  TriangleStrainConstraint
 A mesh-independent triangle strain-limiting constraint. See [2] for more details. More...
 
class  UniformLaplacianConstraint
 Uniform Laplacian Constraint. Minimizes the uniform laplacian respectively the uniform laplacian of displacements. More...
 
class  VertexForce
 This class defines a constant force for a unique vertex. More...
 
class  VolumeConstraint
 Volume constraint. Limits the volume of a tetrahedron to a range. See [2] for more details. More...
 

Typedefs

typedef ShapeOpScalar Scalar
 A scalar type, double or float, as defined in ShapeOpScalar in Common.h.
 
template<int Rows, int Cols, int Options = (Eigen::ColMajor | SHAPEOP_ALIGNMENT)>
using MatrixT = Eigen::Matrix< Scalar, Rows, Cols, Options >
 A typedef of the dense matrix of Eigen.
 
typedef MatrixT< 2, 1 > Vector2
 A 2d column vector.
 
typedef MatrixT< 2, 2 > Matrix22
 A 2 by 2 matrix.
 
typedef MatrixT< 2, 3 > Matrix23
 A 2 by 3 matrix.
 
typedef MatrixT< 3, 1 > Vector3
 A 3d column vector.
 
typedef MatrixT< 3, 2 > Matrix32
 A 3 by 2 matrix.
 
typedef MatrixT< 3, 3 > Matrix33
 A 3 by 3 matrix.
 
typedef MatrixT< 3, 4 > Matrix34
 A 3 by 4 matrix.
 
typedef MatrixT< 4, 1 > Vector4
 A 4d column vector.
 
typedef MatrixT< 4, 4 > Matrix44
 A 4 by 4 matrix.
 
typedef MatrixT< 3, Eigen::Dynamic > Matrix3X
 A 3 by n matrix.
 
typedef MatrixT< Eigen::Dynamic, 3 > MatrixX3
 A n by 3 matrix.
 
typedef MatrixT< Eigen::Dynamic, 1 > VectorX
 A nd column vector.
 
typedef MatrixT< Eigen::Dynamic, Eigen::Dynamic > MatrixXX
 A n by m matrix.
 
template<int Options = Eigen::ColMajor>
using SparseMatrixT = Eigen::SparseMatrix< Scalar, Options >
 A typedef of the sparse matrix of Eigen.
 
typedef SparseMatrixT SparseMatrix
 The default sparse matrix of Eigen.
 
typedef Eigen::Triplet< ScalarTriplet
 A triplet, used in the sparse triplet representation for matrices.
 

Functions

SHAPEOP_INLINE Scalar clamp (Scalar v, Scalar vMin, Scalar vMax)
 Clamps v to lie between vMin and vMax.
 

Detailed Description

Namespace of the ShapeOp library.