struct utils::SpaceDefinition
Overview
Definition of an arbitrary space. More…
#include <SpaceAndUnits.h> struct SpaceDefinition: public utils::BasisDefinition { // fields SpaceCategory category { SpaceCategory::custom }; Units units { Units::mm }; // construction SpaceDefinition(); SpaceDefinition(Units t_units, BaseAxis t_up, BaseAxis t_forward, Handedness t_handedness); // methods glm::mat3 MakeTransform3To(const SpaceDefinition& target_space) const; glm::mat4 MakeTransform4To(const SpaceDefinition& target_space) const; glm::mat4 Convert(const glm::mat4& other_transform, const SpaceDefinition& other_space) const; bool operator==(SpaceDefinition const& b) const; bool operator!=(SpaceDefinition const& b) const; virtual void Serialize(nlohmann::json& json) const; virtual void Serialize(std::ostream& outs) const; virtual bool Deserialize(std::istream& ins); glm::mat4 Convert(const glm::mat4& other_transform, const BasisDefinition& other_basis); };
Inherited Members
public: // fields std::string id { "custom" }; BaseAxis up { BaseAxis::positive_y }; BaseAxis forward { BaseAxis::positive_z }; Handedness handedness { Handedness::right }; // methods glm::mat3 CreateBasisMat3() const; glm::mat4 CreateBasisMat4() const; glm::mat3 MakeTransform3To(const BasisDefinition& target_basis) const; glm::mat4 MakeTransform4To(const BasisDefinition& target_basis) const; glm::mat4 Convert(const glm::mat4& other_transform, const BasisDefinition& other_basis) const; bool operator==(BasisDefinition const& b) const; bool operator!=(BasisDefinition const& b) const; virtual void Serialize(nlohmann::json& json) const; std::string ToString() const; virtual void Serialize(std::ostream& outs) const; virtual bool Deserialize(std::istream& in);
Detailed Documentation
Definition of an arbitrary space.
Methods
glm::mat3 MakeTransform3To(const SpaceDefinition& target_space) const
Creates transformation matrix that defines transition from this space to the target_space.
glm::mat4 MakeTransform4To(const SpaceDefinition& target_space) const
Creates transformation matrix that defines transition from this space to the target_space.
glm::mat4 Convert(const glm::mat4& other_transform, const SpaceDefinition& other_space) const
Creates transformation matrix for this space, from transformation created for other space.
virtual void Serialize(nlohmann::json& json) const
Converts this to nlohmann::json structure.
glm::mat4 Convert(const glm::mat4& other_transform, const BasisDefinition& other_basis)
Creates transformation matrix for this basis, from transformation in other basis.