Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
ComponentAccess.hpp File Reference

Storage-independent component access shape tags and traits. More...

Classes

struct  mundy::mesh::access::raw< ValueType >
 Raw access: exposes entity field data as a flat array / EntityFieldData view. More...
struct  mundy::mesh::access::scalar< ScalarType >
 Scalar access: one arithmetic value per entity. More...
struct  mundy::mesh::access::vector< ScalarType, N >
 Fixed-size vector access: N scalars per entity. More...
struct  mundy::mesh::access::matrix< ScalarType, N, M >
 Fixed-size matrix access: N * M scalars per entity. More...
struct  mundy::mesh::access::quaternion< ScalarType >
 Quaternion access: 4 scalars per entity. More...
struct  mundy::mesh::access::aabb< ScalarType >
 Axis-aligned bounding box access: 6 scalars per entity. More...
struct  mundy::mesh::access::obb< ScalarType >
struct  mundy::mesh::canonical_component_access< AccessLike, Enable >
struct  mundy::mesh::canonical_component_access< access::raw< ValueType >, void >
struct  mundy::mesh::canonical_component_access< access::scalar< ScalarType >, void >
struct  mundy::mesh::canonical_component_access< access::vector< ScalarType, N >, void >
struct  mundy::mesh::canonical_component_access< access::matrix< ScalarType, N, M >, void >
struct  mundy::mesh::canonical_component_access< access::quaternion< ScalarType >, void >
struct  mundy::mesh::canonical_component_access< access::aabb< ScalarType >, void >
struct  mundy::mesh::canonical_component_access< access::obb< ScalarType >, void >
struct  mundy::mesh::canonical_component_access< ScalarType, std::enable_if_t< std::is_arithmetic_v< std::remove_cvref_t< ScalarType > > > >
struct  mundy::mesh::canonical_component_access< VectorType, std::enable_if_t< is_vector_v< std::remove_cvref_t< VectorType > > > >
struct  mundy::mesh::canonical_component_access< Matrix3Type, std::enable_if_t< is_matrix3_v< std::remove_cvref_t< Matrix3Type > > > >
struct  mundy::mesh::canonical_component_access< MatrixType, std::enable_if_t< is_matrix_v< std::remove_cvref_t< MatrixType > > &&!is_matrix3_v< std::remove_cvref_t< MatrixType > > > >
struct  mundy::mesh::canonical_component_access< QuaternionType, std::enable_if_t< is_quaternion_v< std::remove_cvref_t< QuaternionType > > > >
struct  mundy::mesh::canonical_component_access< AABBType, std::enable_if_t< is_aabb_v< std::remove_cvref_t< AABBType > > > >
struct  mundy::mesh::canonical_component_access< OBBType, std::enable_if_t< is_obb_v< std::remove_cvref_t< OBBType > > > >
struct  mundy::mesh::component_access_shape< access::raw< ValueType > >
struct  mundy::mesh::component_access_shape< access::scalar< ScalarType > >
struct  mundy::mesh::component_access_shape< access::vector< ScalarType, N > >
struct  mundy::mesh::component_access_shape< access::matrix< ScalarType, N, M > >
struct  mundy::mesh::component_access_shape< access::quaternion< ScalarType > >
struct  mundy::mesh::component_access_shape< access::aabb< ScalarType > >
struct  mundy::mesh::component_access_shape< access::obb< ScalarType > >

Namespaces

namespace  mundy
namespace  mundy::mesh
namespace  mundy::mesh::access

Macros

#define MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(N, M)

Typedefs

template<typename ScalarType>
using mundy::mesh::access::vector1 = vector<ScalarType, 1>
template<typename ScalarType>
using mundy::mesh::access::vector2 = vector<ScalarType, 2>
template<typename ScalarType>
using mundy::mesh::access::vector3 = vector<ScalarType, 3>
template<typename ScalarType>
using mundy::mesh::access::vector4 = vector<ScalarType, 4>
template<typename ScalarType>
using mundy::mesh::access::vector5 = vector<ScalarType, 5>
template<typename ScalarType>
using mundy::mesh::access::vector6 = vector<ScalarType, 6>
using mundy::mesh::access::vector1d = vector1<double>
using mundy::mesh::access::vector2d = vector2<double>
using mundy::mesh::access::vector3d = vector3<double>
using mundy::mesh::access::vector4d = vector4<double>
using mundy::mesh::access::vector5d = vector5<double>
using mundy::mesh::access::vector6d = vector6<double>
using mundy::mesh::access::vector1f = vector1<float>
using mundy::mesh::access::vector2f = vector2<float>
using mundy::mesh::access::vector3f = vector3<float>
using mundy::mesh::access::vector4f = vector4<float>
using mundy::mesh::access::vector5f = vector5<float>
using mundy::mesh::access::vector6f = vector6<float>
using mundy::mesh::access::vector1i = vector1<int>
using mundy::mesh::access::vector2i = vector2<int>
using mundy::mesh::access::vector3i = vector3<int>
using mundy::mesh::access::vector4i = vector4<int>
using mundy::mesh::access::vector5i = vector5<int>
using mundy::mesh::access::vector6i = vector6<int>
template<typename ScalarType>
using mundy::mesh::access::matrix1 = matrix11<ScalarType>
template<typename ScalarType>
using mundy::mesh::access::matrix2 = matrix22<ScalarType>
template<typename ScalarType>
using mundy::mesh::access::matrix3 = matrix33<ScalarType>
template<typename ScalarType>
using mundy::mesh::access::matrix4 = matrix44<ScalarType>
template<typename ScalarType>
using mundy::mesh::access::matrix5 = matrix55<ScalarType>
template<typename ScalarType>
using mundy::mesh::access::matrix6 = matrix66<ScalarType>
using mundy::mesh::access::matrix1d = matrix1<double>
using mundy::mesh::access::matrix2d = matrix2<double>
using mundy::mesh::access::matrix3d = matrix3<double>
using mundy::mesh::access::matrix4d = matrix4<double>
using mundy::mesh::access::matrix5d = matrix5<double>
using mundy::mesh::access::matrix6d = matrix6<double>
using mundy::mesh::access::matrix1f = matrix1<float>
using mundy::mesh::access::matrix2f = matrix2<float>
using mundy::mesh::access::matrix3f = matrix3<float>
using mundy::mesh::access::matrix4f = matrix4<float>
using mundy::mesh::access::matrix5f = matrix5<float>
using mundy::mesh::access::matrix6f = matrix6<float>
using mundy::mesh::access::matrix1i = matrix1<int>
using mundy::mesh::access::matrix2i = matrix2<int>
using mundy::mesh::access::matrix3i = matrix3<int>
using mundy::mesh::access::matrix4i = matrix4<int>
using mundy::mesh::access::matrix5i = matrix5<int>
using mundy::mesh::access::matrix6i = matrix6<int>
template<typename AccessLike>
using mundy::mesh::canonical_component_access_t = typename canonical_component_access<AccessLike>::type

Functions

 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (1, 1) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(1
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (1, 3) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(1
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (1, 5) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(1
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (2, 1) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(2
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (2, 3) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(2
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (2, 5) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(2
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (3, 1) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(3
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (3, 3) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(3
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (3, 5) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(3
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (4, 1) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(4
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (4, 3) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(4
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (4, 5) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(4
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (5, 1) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(5
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (5, 3) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(5
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (5, 5) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(5
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (6, 1) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(6
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (6, 3) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(6
 mundy::mesh::access::MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS (6, 5) MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS(6

Detailed Description

This header is intentionally minimal. It may be included by restriction-layer headers (DeclarePart, DeclareClass) without pulling in field or shared component implementations.

Do NOT include FieldComponent.hpp, SharedComponent.hpp, or DeclareComponent.hpp from here.

Macro Definition Documentation

◆ MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS

#define MUNDY_MESH_COMPONENT_ACCESS_MATRIX_ALIAS ( N,
M )
Value:
template <typename ScalarType> \
using matrix##N####M = matrix<ScalarType, N, M>; \
using matrix##N####M##d = matrix##N####M<double>; \
using matrix##N####M##f = matrix##N####M<float>;