Visual Computing Library
Loading...
Searching...
No Matches
Components

List of all the Component classes, along with their concepts and functions. More...

Collaboration diagram for Components:

Modules

 Components Concepts
 List of concepts for types related to the Component classes of the library.
 
 Edge Components
 This group lists all the Components that may be used by the Edge element.
 
 Face Components
 This group lists all the Components that may be used by the Face element.
 
 Vertex Components
 This group lists all the Components that may be used by the Vertex element.
 
 Mesh Components
 This group lists all the Components that may be used by a Mesh class.
 

Classes

class  vcl::comp::AdjacentEdges< STORE_INDICES, Edge, N, TTVN, ParentElemType, VERT, OPT >
 The AdjacentEdges class is a container of Edge indices or pointers. It could be used by any Element to save adjacencies information (also the Edge element itself). More...
 
class  vcl::comp::AdjacentFaces< STORE_INDICES, Face, N, TTVN, ParentElemType, VERT, OPT >
 The AdjacentFaces class is a container of Face indices or pointers. It could be used by any Element to save adjacencies information (also the Face element itself). More...
 
class  vcl::comp::AdjacentVertices< STORE_INDICES, Vertex, ParentElemType, VERT, OPT >
 The AdjacentVertices class is a container of Vertex indices or pointers. It is a component that makes sense to use mostly on Vertex Elements. For Faces and Edges, see the VertexPointers component (which is similar, but has different member function names). More...
 
class  vcl::comp::BitFlags< ParentElemType, OPT >
 The BitFlags component class represents a collection of 8 bits that will be part of an Element (e.g. Vertex, Face, ...). More...
 
class  vcl::comp::BoundingBox< PointType, ParentElemType, OPT >
 The BoundingBox component class represents an axis aligned bounding box. This class is usually used as a component of a Mesh. More...
 
class  vcl::comp::Color< ParentElemType, OPT >
 The Color class represents a RGBA color that will be part of an Element (e.g. Vertex, Face, ...) or Mesh. More...
 
class  vcl::comp::Coordinate< P, ParentElemType, OPT >
 The Coordinate class represents a N-Dimensional point that will be part of an Element (e.g. Vertex...). More...
 
class  vcl::comp::CustomComponents< ParentElemType >
 The CustomComponents Component is a container of additional components associated to an Element (e.g. Vertex, Face). More...
 
class  vcl::comp::Mark< ParentElemType, OPT >
 The Mark class is an utility class useful to un-mark components in constant time. More...
 
class  vcl::comp::Name< ParentElemType, OPT >
 The Name component class represents a simple name stored as string. This class is usually used as a component of a Mesh. More...
 
class  vcl::comp::Normal< P, ParentElemType, OPT >
 The Normal class represents a N-Dimensional normal vector that will be part of an Element (e.g. Vertex, Face...). More...
 
class  vcl::comp::PolygonBitFlags< N, ParentElemType, OPT >
 The PolygonBitFlags class represents a collection of 8 bits plus 8 bits for each edge that will be part of a generic Polygonal Face of a Mesh. More...
 
class  vcl::comp::PrincipalCurvature< Scalar, ParentElemType, OPT >
 The PrincipalCurvature class represents a component that stores the principal curvature directions and values at a point on a surface. This component could be part of Vertices or Faces. More...
 
class  vcl::comp::Quality< Scalar, ParentElemType, OPT >
 The Quality class represents a component that stores the quality of a mesh element, that is represented by a scalar. More...
 
class  vcl::comp::TexCoord< Scalar, ParentElemType, OPT >
 The TexCoord class represents a component that stores a texture coordinate. More...
 
class  vcl::comp::TextureImages
 The TextureImages class represents a component that stores the textures used by a mesh. This component makes sense only if it is used by meshes, and therefore it cannot be stored vertically or be optional (no template arguments are needed for these options). More...
 
class  vcl::comp::TexturePaths
 The TexturePaths class represents a component that stores the paths of the textures used by a mesh. This component makes sense only if it is used by meshes, and therefore it cannot be stored vertically or be optional (no template arguments are needed for these options). More...
 
class  vcl::comp::TransformMatrix< Scalar, ParentElemType, OPT >
 The TransformMatrix class represents a component that stores a 4x4 matrix that can be used for a transformation. This class is usually used as a component of a Mesh. More...
 
class  vcl::comp::TriangleBitFlags< ParentElemType, OPT >
 The TriangleBitFlags class represents a collection of 16 bits that will be part of a Triangle of a Mesh. More...
 
class  vcl::comp::VertexReferences< STORE_INDICES, Vertex, N, ParentElemType, VERT >
 The VertexReferences class represents a component that stores a container of indices or pointers to vertices that will be part of an Element (e.g. Face, Edge, Tetrahedron, etc.). More...
 
class  vcl::comp::WedgeColors< N, ParentElemType, OPT >
 The WedgeColors class is a container of colors associated to the wedges of a Face element. More...
 
class  vcl::comp::WedgeTexCoords< Scalar, N, ParentElemType, OPT >
 The WedgeTexCoords class is a container of texture coordinates associated to the wedges of a Face element. More...
 

Typedefs

template<typename S , typename ElementType = void, bool OPT = false>
using vcl::comp::BoundingBox3 = BoundingBox< Point3< S >, ElementType, OPT >
 The BoundingBox3 component class is an alias of the BoundingBox component that uses 3 dimensional Points.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::BoundingBox3f = BoundingBox< Point3f, ElementType, OPT >
 The BoundingBox3f component class is an alias of the BoundingBox component that uses 3 dimensional Points with float precision.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::BoundingBox3d = BoundingBox< Point3d, ElementType, OPT >
 The BoundingBox3d component class is an alias of the BoundingBox component that uses 3 dimensional Points with double precision.
 
template<typename Scalar , typename ElementType = void, bool OPT = false>
using vcl::comp::Coordinate3 = Coordinate< Point3< Scalar >, ElementType, OPT >
 The Coordinate3 class is an alias of the Coordinate component that uses 3 dimensional Points.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::Coordinate3f = Coordinate3< float, ElementType, OPT >
 The Coordinate3f class is an alias of the Coordinate component that uses 3 dimensional Points with float precision.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::Coordinate3d = Coordinate3< double, ElementType, OPT >
 The Coordinate3d class is an alias of the Coordinate component that uses 3 dimensional Points with double precision.
 
template<typename Scalar , typename ElementType = void, bool OPT = false>
using vcl::comp::Normal3 = Normal< Point3< Scalar >, ElementType, OPT >
 The Normal3 class is an alias of the Normal component that uses 3 dimensional Points.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::Normal3f = Normal3< float, ElementType, OPT >
 The Normal3f class is an alias of the Normal component that uses 3 dimensional Points with float precision.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::Normal3d = Normal3< double, ElementType, OPT >
 The Normal3d class is an alias of the Normal component that uses 3 dimensional Points with double precision.
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::PrincipalCurvaturef = PrincipalCurvature< float, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::PrincipalCurvatured = PrincipalCurvature< double, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::Qualityf = Quality< float, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::Qualityd = Quality< double, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::TexCoordf = TexCoord< float, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::TexCoordd = TexCoord< double, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::TransformMatrixf = TransformMatrix< float, ElementType, OPT >
 
template<typename ElementType = void, bool OPT = false>
using vcl::comp::TransformMatrixd = TransformMatrix< double, ElementType, OPT >
 

Detailed Description

List of all the Component classes, along with their concepts and functions.

Typedef Documentation

◆ BoundingBox3

template<typename S , typename ElementType = void, bool OPT = false>
using vcl::comp::BoundingBox3 = typedef BoundingBox<Point3<S>, ElementType, OPT>

The BoundingBox3 component class is an alias of the BoundingBox component that uses 3 dimensional Points.

Template Parameters
SThe scalar type of the point.
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ BoundingBox3d

template<typename ElementType = void, bool OPT = false>
using vcl::comp::BoundingBox3d = typedef BoundingBox<Point3d, ElementType, OPT>

The BoundingBox3d component class is an alias of the BoundingBox component that uses 3 dimensional Points with double precision.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ BoundingBox3f

template<typename ElementType = void, bool OPT = false>
using vcl::comp::BoundingBox3f = typedef BoundingBox<Point3f, ElementType, OPT>

The BoundingBox3f component class is an alias of the BoundingBox component that uses 3 dimensional Points with float precision.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Coordinate3

template<typename Scalar , typename ElementType = void, bool OPT = false>
using vcl::comp::Coordinate3 = typedef Coordinate<Point3<Scalar>, ElementType, OPT>

The Coordinate3 class is an alias of the Coordinate component that uses 3 dimensional Points.

Template Parameters
ScalarThe scalar type of the point.
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Coordinate3d

template<typename ElementType = void, bool OPT = false>
using vcl::comp::Coordinate3d = typedef Coordinate3<double, ElementType, OPT>

The Coordinate3d class is an alias of the Coordinate component that uses 3 dimensional Points with double precision.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Coordinate3f

template<typename ElementType = void, bool OPT = false>
using vcl::comp::Coordinate3f = typedef Coordinate3<float, ElementType, OPT>

The Coordinate3f class is an alias of the Coordinate component that uses 3 dimensional Points with float precision.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Normal3

template<typename Scalar , typename ElementType = void, bool OPT = false>
using vcl::comp::Normal3 = typedef Normal<Point3<Scalar>, ElementType, OPT>

The Normal3 class is an alias of the Normal component that uses 3 dimensional Points.

Template Parameters
ScalarThe scalar type of the point.
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Normal3d

template<typename ElementType = void, bool OPT = false>
using vcl::comp::Normal3d = typedef Normal3<double, ElementType, OPT>

The Normal3d class is an alias of the Normal component that uses 3 dimensional Points with double precision.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Normal3f

template<typename ElementType = void, bool OPT = false>
using vcl::comp::Normal3f = typedef Normal3<float, ElementType, OPT>

The Normal3f class is an alias of the Normal component that uses 3 dimensional Points with float precision.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ PrincipalCurvatured

template<typename ElementType = void, bool OPT = false>
using vcl::comp::PrincipalCurvatured = typedef PrincipalCurvature<double, ElementType, OPT>

The PrincipalCurvatured class is an alias of the PrincipalCurvature component that uses double as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ PrincipalCurvaturef

template<typename ElementType = void, bool OPT = false>
using vcl::comp::PrincipalCurvaturef = typedef PrincipalCurvature<float, ElementType, OPT>

The PrincipalCurvaturef class is an alias of the PrincipalCurvature component that uses float as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Qualityd

template<typename ElementType = void, bool OPT = false>
using vcl::comp::Qualityd = typedef Quality<double, ElementType, OPT>

The Qualityd class is an alias of the Quality component that uses double as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ Qualityf

template<typename ElementType = void, bool OPT = false>
using vcl::comp::Qualityf = typedef Quality<float, ElementType, OPT>

The Qualityf class is an alias of the Quality component that uses float as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ TexCoordd

template<typename ElementType = void, bool OPT = false>
using vcl::comp::TexCoordd = typedef TexCoord<double, ElementType, OPT>

The TexCoordd class is an alias of the TexCoord component that uses double as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ TexCoordf

template<typename ElementType = void, bool OPT = false>
using vcl::comp::TexCoordf = typedef TexCoord<float, ElementType, OPT>

The TexCoordf class is an alias of the TexCoord component that uses float as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ TransformMatrixd

template<typename ElementType = void, bool OPT = false>
using vcl::comp::TransformMatrixd = typedef TransformMatrix<double, ElementType, OPT>

The TransformMatrixd class is an alias of the TransformMatrix component that uses double as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.

◆ TransformMatrixf

template<typename ElementType = void, bool OPT = false>
using vcl::comp::TransformMatrixf = typedef TransformMatrix<float, ElementType, OPT>

The TransformMatrixf class is an alias of the TransformMatrix component that uses float as scalar type.

Template Parameters
ElementTypeThis template argument must be void if the component needs to be stored horizontally, or the type of the element that will contain this component if the component needs to be stored vertically.
OPTIf true, the component will be optional. This argument is considered only if the component is stored vertically.