1#include <Core/Geometry/StandardAttribNames.hpp>
2#include <Core/Geometry/TriangleMesh.hpp>
13 if ( !m_vertexAttribs.
hasSameAttribs( other.m_vertexAttribs ) )
return false;
16 if ( attr->isFloat() ) this->append_attrib<Scalar>( attr );
17 if ( attr->isVector2() ) this->append_attrib<Vector2>( attr );
18 if ( attr->isVector3() ) this->append_attrib<Vector3>( attr );
19 if ( attr->isVector4() ) this->append_attrib<Vector4>( attr );
28 PointAttribHandle::Container v =
vertices();
29 NormalAttribHandle::Container n =
normals();
30 m_vertexAttribs.
clear();
40 getAttrib( colorAttribHandle ).setData( Vector4Array(
vertices().size(), color ) );
This class represents vertex + attributes per vertex. Toplogy is handled in MultiIndexedGeometry subc...
void colorize(const Utils::Color &c)
void setNormals(PointAttribHandle::Container &&normals)
Set normals.
void setVertices(PointAttribHandle::Container &&vertices)
Set vertices.
const NormalAttribHandle::Container & normals() const
Access the vertices normals.
const PointAttribHandle::Container & vertices() const
Access the vertices positions.
bool append(const AttribArrayGeometry &other)
void clearAttributes()
Erases all attributes, leaving the AttribArrayGeometry with geometry only.
Utils::AttribHandle< T > addAttrib(const std::string &name)
Utils::Attrib< T > & getAttrib(const Utils::AttribHandle< T > &h)
bool hasSameAttribs(const AttribManager &other)
void clear()
clear all attribs, invalidate handles.
void for_each_attrib(const F &func) const
@ Geometry
"Geometry" render objects are those loaded using Radium::IO and generated by GeometrySystem
hepler function to manage enum as underlying types in VariableSet