Class unicell_movable_entity3D

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class unicell_movable_entity3D : public cosm::repr::unicell_entity3D

A class representing 3D objects that reside within a 3D grid whose position CAN change during the lifetime of the object.

Subclassed by cosm::repr::base_block3D

Public Functions

~unicell_movable_entity3D(void) override = default
inline void danchor3D(const rmath::vector3z &anchor)
template<typename T, typename std::enable_if<T::is_movable(), int>::type = 0>
inline void danchor3D(const rmath::vector3z &danchor)

SFINAE to allow only derived classes that mark themselves as movable to change the initial position of the entity.

Updates the discrete anchor,center. Does not change the real anchor,center of the entity.

inline rmath::vector3z danchor3D(void) const
inline void ranchor3D(const rmath::vector3d &anchor)
template<typename T, typename std::enable_if<T::is_movable(), int>::type = 0>
inline void ranchor3D(const rmath::vector3d &ranchor)

SFINAE to allow only derived classes that mark themselves as movable to change the initial position of the entity.

Updates the real anchor,center. Does not change the discrete anchor,center of the entity.

inline rmath::vector3d ranchor3D(void) const
inline unicell_entity3D(const rtypes::type_uuid &id, const rmath::vector3d &dims, const rmath::vector3d &center, const rtypes::discretize_ratio &resolution)
inline unicell_entity3D(const rtypes::type_uuid &id, const rmath::vector3d &dims, const rtypes::discretize_ratio &resolution)

Public Static Functions

static inline constexpr bool is_movable(void)