Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/opensubdiv/internal/topology/mesh_topology.cc')
-rw-r--r--intern/opensubdiv/internal/topology/mesh_topology.cc42
1 files changed, 41 insertions, 1 deletions
diff --git a/intern/opensubdiv/internal/topology/mesh_topology.cc b/intern/opensubdiv/internal/topology/mesh_topology.cc
index 483595dbfe1..ae7c1e069b6 100644
--- a/intern/opensubdiv/internal/topology/mesh_topology.cc
+++ b/intern/opensubdiv/internal/topology/mesh_topology.cc
@@ -23,7 +23,7 @@
namespace blender {
namespace opensubdiv {
-MeshTopology::MeshTopology() : num_vertices_(0), num_edges_(0)
+MeshTopology::MeshTopology() : num_vertices_(0), num_edges_(0), num_faces_(0)
{
}
@@ -168,5 +168,45 @@ void MeshTopology::ensureEdgeTagsSize(int num_edges)
}
}
+////////////////////////////////////////////////////////////////////////////////
+// Faces.
+
+void MeshTopology::setNumFaces(int num_faces)
+{
+ num_faces_ = num_faces;
+
+ faces_.resize(num_faces);
+}
+
+int MeshTopology::getNumFaces() const
+{
+ return num_faces_;
+}
+
+FaceTopology &MeshTopology::getFace(int face_index)
+{
+ const MeshTopology *const_this = this;
+ return const_cast<FaceTopology &>(const_this->getFace(face_index));
+}
+const FaceTopology &MeshTopology::getFace(int face_index) const
+{
+ assert(face_index >= 0);
+ assert(face_index < getNumFaces());
+
+ return faces_[face_index];
+}
+
+void MeshTopology::setNumFaceVertices(int face_index, int num_face_vertices)
+{
+ FaceTopology &face = getFace(face_index);
+ face.setNumVertices(num_face_vertices);
+}
+
+void MeshTopology::setFaceVertexIndices(int face_index, int *face_vertex_indices)
+{
+ FaceTopology &face = getFace(face_index);
+ face.setVertexIndices(face_vertex_indices);
+}
+
} // namespace opensubdiv
} // namespace blender