Fixed PLY reader compilation with Color Trait as Vec3f

This commit is contained in:
Jan Möbius
2024-02-01 12:04:49 +01:00
parent 37ccbdc922
commit b300377b66
4 changed files with 189 additions and 2 deletions

View File

@@ -250,7 +250,7 @@ public: // inherited from BaseProperty
virtual void reserve(size_t _n) override { data_.reserve(_n); }
virtual void resize(size_t _n) override { data_.resize(_n); }
virtual void clear() override { data_.clear(); vector_type().swap(data_); }
virtual void push_back() override { data_.push_back(); }
virtual void push_back() override { data_.push_back(bool()); }
virtual void swap(size_t _i0, size_t _i1) override
{ bool t(data_[_i0]); data_[_i0]=data_[_i1]; data_[_i1]=t; }
virtual void copy(size_t _i0, size_t _i1) override

View File

@@ -210,6 +210,20 @@ struct color_caster<Vec4uc,Vec3f>
}
};
template <>
struct color_caster<Vec4ui,Vec3f>
{
typedef Vec4ui return_type;
inline static return_type cast(const Vec3f& _src)
{
return Vec4ui( (unsigned int)(_src[0]* 255.0f + 0.5f),
(unsigned int)(_src[1]* 255.0f + 0.5f),
(unsigned int)(_src[2]* 255.0f + 0.5f),
(unsigned int)(255) );
}
};
template <>
struct color_caster<Vec4f,Vec3f>
{