9 #include "imstkGeometry.h" 10 #include "imstkMath.h" 11 #include "imstkMacros.h" 14 #pragma warning( push ) 15 #pragma warning( disable : 4201 ) 19 #pragma warning( pop ) 31 Vec3f m_position = Vec3f(0, 0, 0);
32 Vec3f m_velocity = Vec3f(0, 0, 0);
33 Vec3f m_acceleration = Vec3f(0, 0, 0);
34 Vec4d m_color = Vec4d(1., 1., 1., 1.);
36 bool m_created =
false;
39 float m_rotationalVelocity = 0;
40 float m_rotationalAcceleration = 0;
63 void setParticleSize(
const float size);
73 std::vector<std::unique_ptr<RenderParticle>>& getParticles();
83 void incrementNumOfParticles();
88 unsigned int getNumParticles();
93 unsigned int getMaxNumParticles();
99 std::unique_ptr<RenderParticles>
clone()
101 return std::unique_ptr<RenderParticles>(cloneImplementation());
105 unsigned int m_numParticles = 0;
106 unsigned int m_maxNumParticles = 128;
107 float m_particleSize = 0.1f;
110 Vec3d m_vertexPositions[4];
111 Vec3d m_vertexNormals[4];
112 Vec3d m_vertexTangents[4];
113 Vec2d m_vertexUVs[4];
114 Vec3i m_triangles[2];
116 void applyTransform(
const Mat4d& m)
override;
118 void updatePostTransformData()
const override {}
std::vector< std::unique_ptr< RenderParticle > > m_particles
Particle objects.
std::unique_ptr< RenderParticles > clone()
Polymorphic clone, hides the declaration in superclass return own type.
Base class for any geometrical representation.