Radium Engine  1.5.20
Loading...
Searching...
No Matches
Ra::Engine::Scene::PointCloudComponent Class Reference

#include <Engine/Scene/GeometryComponent.hpp>

+ Inheritance diagram for Ra::Engine::Scene::PointCloudComponent:
+ Collaboration diagram for Ra::Engine::Scene::PointCloudComponent:

Public Member Functions

 PointCloudComponent (const std::string &name, Entity *entity, const Ra::Core::Asset::GeometryData *data)
 
 PointCloudComponent (const std::string &name, Entity *entity, Core::Geometry::PointCloud &&mesh, Core::Asset::MaterialData *mat=nullptr)
 
 ~PointCloudComponent () override
 
void initialize () override
 Pure virtual method to be overridden by any component. When this method is called you are guaranteed that all other startup systems have been loaded.
 
const Ra::Core::Geometry::PointCloud & getCoreGeometry () const
 Returns the current display geometry.
 
Data::PointCloudgetGeometry ()
 
void setSplatSize (float s)
 set the splat size for rendering
 
float getSplatSize () const
 get the splat size for rendering
 
void setupIO (const std::string &id) override
 
void setDeformable (bool b)
 
- Public Member Functions inherited from Ra::Engine::Scene::GeometryComponent
 GeometryComponent (const std::string &name, Entity *entity)
 
void setContentName (const std::string &name)
 
- Public Member Functions inherited from Ra::Engine::Scene::Component
 Component (const std::string &name, Entity *entity)
 CONSTRUCTOR.
 
virtual ~Component ()
 DESTRUCTOR.
 
virtual void setEntity (Entity *entity)
 Set entity the component is part of. This method is called by the entity.
 
virtual EntitygetEntity () const
 Return the entity the component belongs to.
 
virtual const std::stringgetName () const
 Return the component's name.
 
virtual void setSystem (System *system)
 Set the system to which the component belongs.
 
virtual SystemgetSystem () const
 Returns the system to which the component belongs.
 
Core::Utils::Index addRenderObject (Rendering::RenderObject *renderObject)
 Add a new render object to the component. This adds the RO to the manager for drawing.
 
void removeRenderObject (const Core::Utils::Index &roIdx)
 Remove the render object from the component.
 
virtual bool canEdit (const Core::Utils::Index &) const
 Returns true if a transform can be edited with the render object index given as a key.
 
virtual Core::Transform getTransform (const Core::Utils::Index &) const
 Get the transform associated with the given RO index key.
 
virtual void setTransform (const Core::Utils::Index &, const Core::Transform &)
 Set the new transform associated with the RO index key.
 
void notifyRenderObjectExpired (const Core::Utils::Index &idx)
 
virtual Core::Aabb computeAabb ()
 
void invalidateAabb ()
 
const std::vector< Core::Utils::Index > & getRenderObjects ()
 

Additional Inherited Members

- Public Attributes inherited from Ra::Engine::Scene::Component
std::vector< Core::Utils::Index > m_renderObjects
 
- Static Protected Member Functions inherited from Ra::Engine::Scene::Component
static Rendering::RenderObjectManager * getRoMgr ()
 Shortcut to access the render object manager.
 
- Protected Attributes inherited from Ra::Engine::Scene::GeometryComponent
Ra::Core::Utils::Index m_roIndex {}
 
std::string m_contentName {}
 
- Protected Attributes inherited from Ra::Engine::Scene::Component
std::string m_name {}
 
Entitym_entity { nullptr }
 
Systemm_system { nullptr }
 

Detailed Description

Warning
, WIP
Todo
doc.

Definition at line 124 of file GeometryComponent.hpp.

Constructor & Destructor Documentation

◆ PointCloudComponent() [1/2]

Ra::Engine::Scene::PointCloudComponent::PointCloudComponent ( const std::string & name,
Entity * entity,
const Ra::Core::Asset::GeometryData * data )

Definition at line 46 of file GeometryComponent.cpp.

◆ PointCloudComponent() [2/2]

Ra::Engine::Scene::PointCloudComponent::PointCloudComponent ( const std::string & name,
Entity * entity,
Core::Geometry::PointCloud && mesh,
Core::Asset::MaterialData * mat = nullptr )

Constructor from an existing mesh

Warning
Moves the mesh and takes its ownership

Definition at line 53 of file GeometryComponent.cpp.

◆ ~PointCloudComponent()

Ra::Engine::Scene::PointCloudComponent::~PointCloudComponent ( )
overridedefault

STORE Mesh/PointCloud here instead of an index, so don't need to request the ROMgr and no problem with the Displayable -> doesn't affect the API

Member Function Documentation

◆ getCoreGeometry()

const Ra::Core::Geometry::PointCloud & Ra::Engine::Scene::PointCloudComponent::getCoreGeometry ( ) const

Returns the current display geometry.

Definition at line 116 of file GeometryComponent.cpp.

◆ getGeometry()

Data::PointCloud * Ra::Engine::Scene::PointCloudComponent::getGeometry ( )

Definition at line 121 of file GeometryComponent.cpp.

◆ getSplatSize()

float Ra::Engine::Scene::PointCloudComponent::getSplatSize ( ) const
inline

get the splat size for rendering

Definition at line 154 of file GeometryComponent.hpp.

◆ initialize()

void Ra::Engine::Scene::PointCloudComponent::initialize ( )
overridevirtual

Pure virtual method to be overridden by any component. When this method is called you are guaranteed that all other startup systems have been loaded.

Reimplemented from Ra::Engine::Scene::GeometryComponent.

Definition at line 67 of file GeometryComponent.cpp.

◆ setSplatSize()

void Ra::Engine::Scene::PointCloudComponent::setSplatSize ( float s)
inline

set the splat size for rendering

Definition at line 151 of file GeometryComponent.hpp.

◆ setupIO()

void Ra::Engine::Scene::PointCloudComponent::setupIO ( const std::string & id)
overridevirtual

Reimplemented from Ra::Engine::Scene::GeometryComponent.

Definition at line 126 of file GeometryComponent.cpp.


The documentation for this class was generated from the following files: