class hiro::modules::MeshResource
Overview
Resource that allows visualization of a cogs::Mesh structure. More…
#include <MeshResource.h> class MeshResource: public hiro::Resource { public: // structs struct DataRecord; // construction MeshResource(const std::string& name, const cogs::Mesh& mesh); // methods uint32_t GetFaceCount() const; const cogs::MaterialModel* GetMaterial() const; virtual hiro::PGadget CreateGadget(); uint32_t GetPointCount() const; const hiro::draw::PMeshRenderer& GetRenderer() const; const glm::vec3& GetCenterOfMass() const; const glm::vec3& GetCameraPos() const; bool IsUvMappingAvailable() const; bool IsColoringAvailable() const; const std::vector<cogs::Color3f>& GetColoringOption(const size_t id) const; const std::vector<std::string>& GetColoringOptionNames() const; bool IsFDataAvailable() const; const hiro::modules::MeshResource::DataRecord& GetFDataOption(const size_t id) const; const std::vector<std::string>& GetFDataOptionNames() const; std::string GetSpaceId() const; std::optional<utils::SpaceDefinition> GetSpace() const; protected: // fields uint32_t face_count_ { 0u }; uint32_t point_count_ { 0u }; std::unique_ptr<cogs::MaterialModel> material_; bool is_uv_mapping_available_; glm::vec3 center_of_mass_; glm::vec3 camera_pos_; std::vector<std::vector<cogs::Color3f>> coloring_options_; std::vector<std::string> coloring_option_names_; std::vector<hiro::modules::MeshResource::DataRecord> fdata_options_; std::vector<std::string> fdata_option_names_; std::optional<utils::SpaceDefinition> space_; hiro::draw::PMeshRenderer renderer_; // methods void StoreNeededData(const cogs::Mesh& mesh); void CalculateCenterOfMass(const cogs::Mesh& mesh); };
Inherited Members
public: // fields const hiro::ResourceId ID; // methods virtual hiro::PGadget CreateGadget() = 0; void ResetGadgets(); virtual void Update(float delta_time); protected: // methods void DrawOnNextUpdate() const;
Detailed Documentation
Resource that allows visualization of a cogs::Mesh structure.
Construction
MeshResource(const std::string& name, const cogs::Mesh& mesh)
Constructor of mesh resource.
Parameters:
name |
The name of the mesh. |
mesh |
Input mesh data. |
Methods
uint32_t GetFaceCount() const
Returns number of faces.
const cogs::MaterialModel* GetMaterial() const
Returns material assigned to mesh.
virtual hiro::PGadget CreateGadget()
Creates Gadget for this Resource object.
uint32_t GetPointCount() const
Returns number of points.
const hiro::draw::PMeshRenderer& GetRenderer() const
Returns a PointCloudObject pointer.
const glm::vec3& GetCenterOfMass() const
Returns calculated center of mass.
const glm::vec3& GetCameraPos() const
Returns camera position based on center of mass.
bool IsUvMappingAvailable() const
Returns if uvs are available for a mesh.
bool IsColoringAvailable() const
Returns if coloring options for points are available.
const std::vector<cogs::Color3f>& GetColoringOption(const size_t id) const
Returns current coloring option. It returns available RGB color values for one point with given id.
Parameters:
id |
id of the given point |
const std::vector<std::string>& GetColoringOptionNames() const
Returns names of coloring properties.
bool IsFDataAvailable() const
Returns if float data for points is available.
const hiro::modules::MeshResource::DataRecord& GetFDataOption(const size_t id) const
Returns a DataRecord value for point. It returns available DataRecord value for one point with given id.
Parameters:
id |
id of the given point |
const std::vector<std::string>& GetFDataOptionNames() const
Returns names of float data properties.
std::string GetSpaceId() const
Returns string id of point space.
std::optional<utils::SpaceDefinition> GetSpace() const
Returns point space if defined.