This namespace contains everything "low level", related to data, datastuctures, and computation. More...
Namespaces | |
namespace | Math |
This namespace contains usefull math functions. | |
namespace | Random |
Random point set utilities. | |
namespace | Resources |
Resources paths, plugins paths and data paths management for Radium. | |
Classes | |
class | AdjacencyList |
class | AlignedAllocator |
class | DualQuaternion |
class | DynamicVisitor |
Base class for visitors with configurable per-type callbacks. Visiting will be prepared at running time by dynamically adding visitor operators for each type one want to visit in the container. The visitor accept type based on either the added operators or an external acceptance functor which can be associated/changed at runtime. This functor is only allowed to reduce the number of visited type as only type for which a visitor operator is registered can be visited. The visitor operators should be any callable that accept to be called using f(const std::string&, T&[, std::any&&]) More... | |
class | DynamicVisitorBase |
Base class for dynamically configurable visitors Users can implement this interface to build custom visitors without any restriction. To ease visitor configuration, see class DynamicVisitor. More... | |
class | FunctionTask |
class | Grid |
class | Quadric |
class | Task |
class | TaskQueue |
This class allows tasks to be registered and then executed in parallel on separate threads. More... | |
class | Tex |
class | VariableSet |
Heterogeneous container storing "Variables", that maps a name (std::string) to a value (of any type T). More... | |
class | VectorArray |
This class implements ContainerIntrospectionInterface for AlignedStdVector. More... | |
struct | VectorArrayTypeHelper |
struct | VectorArrayTypeHelperInternal |
Typedefs | |
using | ParentList = AlignedStdVector<int> |
using | LevelList = AlignedStdVector<uint8_t> |
using | ChildrenList = AlignedStdVector<uint8_t> |
using | Adjacency = AlignedStdVector<ChildrenList> |
template<typename T > | |
using | AlignedStdVector = std::vector<T, Eigen::aligned_allocator<T>> |
template<typename T > | |
using | Tex2D = Tex<T, 2> |
template<typename T > | |
using | Tex3D = Tex<T, 3> |
template<typename type_t > | |
using | unwrap_t = typename unwrap<type_t>::type |
using | Vector1Array = VectorArray<Scalar> |
Common vector types | |
using | VectorN = Eigen::Matrix<Scalar, Eigen::Dynamic, 1> |
using | VectorNf = Eigen::VectorXf |
using | VectorNd = Eigen::VectorXd |
using | Vector4 = Eigen::Matrix<Scalar, 4, 1> |
using | Vector4f = Eigen::Vector4f |
using | Vector4d = Eigen::Vector4d |
using | Vector3 = Eigen::Matrix<Scalar, 3, 1> |
using | Vector3f = Eigen::Vector3f |
using | Vector3d = Eigen::Vector3d |
using | Vector2 = Eigen::Matrix<Scalar, 2, 1> |
using | Vector2f = Eigen::Vector2f |
using | Vector2d = Eigen::Vector2d |
using | VectorNi = Eigen::VectorXi |
using | Vector2i = Eigen::Vector2i |
using | Vector3i = Eigen::Vector3i |
using | Vector4i = Eigen::Vector4i |
using | VectorNui = Eigen::Matrix<uint, Eigen::Dynamic, 1> |
using | Vector1ui = Eigen::Matrix<uint, 1, 1> |
using | Vector2ui = Eigen::Matrix<uint, 2, 1> |
using | Vector3ui = Eigen::Matrix<uint, 3, 1> |
using | Vector4ui = Eigen::Matrix<uint, 4, 1> |
Ray types | |
using | Ray = Eigen::ParametrizedLine<Scalar, 3> |
using | Rayf = Eigen::ParametrizedLine<float, 3> |
using | Rayd = Eigen::ParametrizedLine<double, 3> |
Common matrix types | |
using | MatrixN = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> |
using | Matrix4 = Eigen::Matrix<Scalar, 4, 4> |
using | Matrix3 = Eigen::Matrix<Scalar, 3, 3> |
using | Matrix2 = Eigen::Matrix<Scalar, 2, 2> |
using | MatrixNf = Eigen::MatrixXf |
using | Matrix4f = Eigen::Matrix4f |
using | Matrix3f = Eigen::Matrix3f |
using | Matrix2f = Eigen::Matrix2f |
using | MatrixNd = Eigen::MatrixXd |
using | Matrix4d = Eigen::Matrix4d |
using | Matrix3d = Eigen::Matrix3d |
using | Matrix2d = Eigen::Matrix2d |
using | MatrixNui = Eigen::Matrix<uint, Eigen::Dynamic, Eigen::Dynamic> |
using | Diagonal |
using | Sparse = Eigen::SparseMatrix<Scalar> |
Transforms and rotations | |
using | Quaternion = Eigen::Quaternion<Scalar> |
using | Quaternionf = Eigen::Quaternionf |
using | Quaterniond = Eigen::Quaterniond |
using | Transform = Eigen::Transform<Scalar, 3, Eigen::Affine> |
using | Transformf = Eigen::Affine3f |
using | Transformd = Eigen::Affine3d |
using | Aabb = Eigen::AlignedBox<Scalar, 3> |
using | Aabbf = Eigen::AlignedBox3f |
using | Aabbd = Eigen::AlignedBox3d |
using | AngleAxis = Eigen::AngleAxis<Scalar> |
using | AngleAxisf = Eigen::AngleAxisf |
using | AngleAxisd = Eigen::AngleAxisd |
using | Translation = Eigen::Translation<Scalar, 3> |
using | Translationf = Eigen::Translation3f |
using | Translationd = Eigen::Translation3d |
Functions | |
std::ofstream & | operator<< (std::ofstream &ofs, const AdjacencyList &adj) |
template<class T > | |
_internalIterator::_reversed< T > | reversed (T &t) |
template<class T > | |
_internalIterator::_reversed< T const > | reversed (T const &t) |
template<typename T , class... Args> | |
std::shared_ptr< T > | make_shared (Args &&... args) |
DualQuaternion | operator* (Scalar scalar, const DualQuaternion &dq) |
Pre-multiplication of dual quaternion. | |
This namespace contains everything "low level", related to data, datastuctures, and computation.
Definition at line 17 of file AdjacencyList.hpp.
using Ra::Core::AlignedStdVector = std::vector<T, Eigen::aligned_allocator<T>> |
Shortcut for the ubiquitous aligned std::vector Uses Eigen's aligned allocator, as stated in http://eigen.tuxfamily.org/dox/group__TopicStlContainers.html
Definition at line 14 of file AlignedStdVector.hpp.
using Ra::Core::ChildrenList = AlignedStdVector<uint8_t> |
Definition at line 16 of file AdjacencyList.hpp.
using Ra::Core::Diagonal |
using Ra::Core::LevelList = AlignedStdVector<uint8_t> |
Definition at line 15 of file AdjacencyList.hpp.
using Ra::Core::MatrixN = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> |
using Ra::Core::MatrixNui = Eigen::Matrix<uint, Eigen::Dynamic, Eigen::Dynamic> |
using Ra::Core::ParentList = AlignedStdVector<int> |
Definition at line 14 of file AdjacencyList.hpp.
using Ra::Core::Tex2D = Tex<T, 2> |
using Ra::Core::Tex3D = Tex<T, 3> |
using Ra::Core::Transform = Eigen::Transform<Scalar, 3, Eigen::Affine> |
using Ra::Core::Translation = Eigen::Translation<Scalar, 3> |
using Ra::Core::unwrap_t = typename unwrap<type_t>::type |
Definition at line 37 of file VariableSet.hpp.
using Ra::Core::Vector1Array = VectorArray<Scalar> |
Definition at line 119 of file VectorArray.hpp.
using Ra::Core::VectorN = Eigen::Matrix<Scalar, Eigen::Dynamic, 1> |
using Ra::Core::VectorNui = Eigen::Matrix<uint, Eigen::Dynamic, 1> |
|
inline |
A replacement for std::make_shared on platforms where it does not respect alignments. Most platforms try to be clever and implement std::make_shared so that the shared pointer data and the new object are allocated within the same memory chunk. This is usually desirable, but means that your new object may not be properly aligned despite your declarations in our case we ditch std::make_shared and use a replacement.
Definition at line 17 of file MakeShared.hpp.
|
inline |
Pre-multiplication of dual quaternion.
Definition at line 165 of file DualQuaternion.hpp.
RA_CORE_API std::ofstream & Ra::Core::operator<< | ( | std::ofstream & | ofs, |
const AdjacencyList & | adj ) |
Definition at line 124 of file AdjacencyList.cpp.
_internalIterator::_reversed< T > Ra::Core::reversed | ( | T & | t | ) |
Definition at line 23 of file Iterators.hpp.
_internalIterator::_reversed< T const > Ra::Core::reversed | ( | T const & | t | ) |
Definition at line 27 of file Iterators.hpp.