7#include <unordered_map>
28 void Resize(uint32_t count);
43 int32_t
GetAttributeInt(uint32_t pointIndex,
const std::string& name)
const;
46 const std::string&
GetAttributeString(uint32_t pointIndex,
const std::string& name)
const;
47 void SetAttributeFloat(uint32_t pointIndex,
const std::string& name,
float value);
48 void SetAttributeInt(uint32_t pointIndex,
const std::string& name, int32_t value);
49 void SetAttributeVector(uint32_t pointIndex,
const std::string& name,
const glm::vec3& value);
50 void SetAttributeColor(uint32_t pointIndex,
const std::string& name,
const glm::vec4& value);
51 void SetAttributeString(uint32_t pointIndex,
const std::string& name,
const std::string& value);
55 glm::vec4
GetCd(uint32_t i)
const;
65 const std::unordered_map<std::string, AttribArray>&
GetAttributes()
const {
return mAttributes; }
69 std::vector<glm::vec3> mPositions;
70 std::unordered_map<std::string, AttribArray> mAttributes;
DatumType
Definition Datum.h:28
Definition PointCloud.h:11
glm::vec4 GetCd(uint32_t i) const
Definition PointCloud.cpp:242
void AddPoint(const glm::vec3 &pos)
Definition PointCloud.cpp:30
void SetAttributeVector(uint32_t pointIndex, const std::string &name, const glm::vec3 &value)
Definition PointCloud.cpp:195
glm::vec4 GetAttributeColor(uint32_t pointIndex, const std::string &name) const
Definition PointCloud.cpp:153
DatumType GetAttributeType(const std::string &name) const
Definition PointCloud.cpp:121
const std::string & GetAttributeString(uint32_t pointIndex, const std::string &name) const
Definition PointCloud.cpp:161
void SetAttributeFloat(uint32_t pointIndex, const std::string &name, float value)
Definition PointCloud.cpp:169
void SetPosition(uint32_t i, const glm::vec3 &p)
Definition PointCloud.cpp:82
void Resize(uint32_t count)
Definition PointCloud.cpp:11
void Clear()
Definition PointCloud.cpp:71
void Merge(const PointCloud &other)
Definition PointCloud.cpp:263
uint32_t GetNumPoints() const
Definition PointCloud.cpp:6
glm::vec3 GetNormal(uint32_t i) const
Definition PointCloud.cpp:249
glm::vec3 GetVelocity(uint32_t i) const
Definition PointCloud.cpp:256
float GetAttributeFloat(uint32_t pointIndex, const std::string &name) const
Definition PointCloud.cpp:129
void AddAttribute(const std::string &name, DatumType type)
Definition PointCloud.cpp:92
void SetAttributeInt(uint32_t pointIndex, const std::string &name, int32_t value)
Definition PointCloud.cpp:182
void SetAttributeString(uint32_t pointIndex, const std::string &name, const std::string &value)
Definition PointCloud.cpp:221
const glm::vec3 & GetPosition(uint32_t i) const
Definition PointCloud.cpp:77
bool HasAttribute(const std::string &name) const
Definition PointCloud.cpp:116
glm::vec3 GetAttributeVector(uint32_t pointIndex, const std::string &name) const
Definition PointCloud.cpp:145
void SetAttributeColor(uint32_t pointIndex, const std::string &name, const glm::vec4 &value)
Definition PointCloud.cpp:208
float GetPScale(uint32_t i) const
Definition PointCloud.cpp:234
const std::vector< glm::vec3 > & GetPositions() const
Definition PointCloud.cpp:87
int32_t GetAttributeInt(uint32_t pointIndex, const std::string &name) const
Definition PointCloud.cpp:137
PointCloud * Clone() const
Definition PointCloud.cpp:355
const std::unordered_map< std::string, AttribArray > & GetAttributes() const
Definition PointCloud.h:65
void RemovePoint(uint32_t index)
Definition PointCloud.cpp:49
Definition PointCloud.h:15
std::vector< glm::vec3 > mVectors
Definition PointCloud.h:19
DatumType mType
Definition PointCloud.h:16
std::vector< glm::vec4 > mColors
Definition PointCloud.h:20
std::vector< std::string > mStrings
Definition PointCloud.h:21
std::vector< int32_t > mInts
Definition PointCloud.h:18
std::vector< float > mFloats
Definition PointCloud.h:17