@@ -103,12 +103,23 @@ public:
|
||||
virtual Vec3f colorf(VertexHandle _vh) const = 0;
|
||||
virtual Vec4f colorAf(VertexHandle _vh) const = 0;
|
||||
virtual Vec2f texcoord(VertexHandle _vh) const = 0;
|
||||
virtual Vec2f texcoord(HalfedgeHandle _heh) const = 0;
|
||||
|
||||
|
||||
// get face data
|
||||
virtual unsigned int
|
||||
get_vhandles(FaceHandle _fh,
|
||||
std::vector<VertexHandle>& _vhandles) const=0;
|
||||
///
|
||||
/// \brief getHeh returns the HalfEdgeHandle that belongs to the face
|
||||
/// specified by _fh and has a toVertexHandle that corresponds to _vh.
|
||||
/// \param _fh FaceHandle that is used to search for the half edge handle
|
||||
/// \param _vh to_vertex_handle of the searched heh
|
||||
/// \return HalfEdgeHandle or invalid HalfEdgeHandle if none is found.
|
||||
///
|
||||
virtual HalfedgeHandle getHeh(FaceHandle _fh, VertexHandle _vh) const = 0;
|
||||
virtual unsigned int
|
||||
get_face_texcoords(std::vector<Vec2f>& _hehandles) const = 0;
|
||||
virtual Vec3f normal(FaceHandle _fh) const = 0;
|
||||
virtual Vec3uc color (FaceHandle _fh) const = 0;
|
||||
virtual Vec4uc colorA(FaceHandle _fh) const = 0;
|
||||
|
||||
@@ -164,6 +164,13 @@ public:
|
||||
#endif
|
||||
}
|
||||
|
||||
Vec2f texcoord(HalfedgeHandle _heh) const
|
||||
{
|
||||
return (mesh_.has_halfedge_texcoords2D()
|
||||
? vector_cast<Vec2f>(mesh_.texcoord2D(_heh))
|
||||
: Vec2f(0.0f, 0.0f));
|
||||
}
|
||||
|
||||
// get edge data
|
||||
|
||||
Vec3uc color(EdgeHandle _eh) const
|
||||
@@ -223,6 +230,31 @@ public:
|
||||
return count;
|
||||
}
|
||||
|
||||
unsigned int get_face_texcoords(std::vector<Vec2f>& _hehandles) const
|
||||
{
|
||||
unsigned int count(0);
|
||||
_hehandles.clear();
|
||||
for(typename Mesh::CHIter he_it=mesh_.halfedges_begin();
|
||||
he_it != mesh_.halfedges_end(); ++he_it)
|
||||
{
|
||||
_hehandles.push_back(vector_cast<Vec2f>(mesh_.texcoord2D( *he_it)));
|
||||
++count;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
HalfedgeHandle getHeh(FaceHandle _fh, VertexHandle _vh) const
|
||||
{
|
||||
typename Mesh::ConstFaceHalfedgeIter fh_it;
|
||||
for(fh_it = mesh_.cfh_iter(_fh); fh_it.is_valid();++fh_it)
|
||||
{
|
||||
if(mesh_.to_vertex_handle(*fh_it) == _vh)
|
||||
return *fh_it;
|
||||
}
|
||||
return *fh_it;
|
||||
}
|
||||
|
||||
Vec3f normal(FaceHandle _fh) const
|
||||
{
|
||||
return (mesh_.has_face_normals()
|
||||
|
||||
Reference in New Issue
Block a user