ShapeOp
0.1.0
|
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< Scalar > | Triplet |
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. | |
Namespace of the ShapeOp library.