[Bf-blender-cvs] [0125d5d] opensubdiv-modifier: OpenSubdiv: Report detailed error messages on mesh validation
Sergey Sharybin
noreply at git.blender.org
Sat Jul 11 20:02:09 CEST 2015
Commit: 0125d5d134c2eab1040e60e533441f5c3e314085
Author: Sergey Sharybin
Date: Fri Jul 10 12:14:09 2015 +0200
Branches: opensubdiv-modifier
https://developer.blender.org/rB0125d5d134c2eab1040e60e533441f5c3e314085
OpenSubdiv: Report detailed error messages on mesh validation
===================================================================
M intern/opensubdiv/opensubdiv_capi.cc
M intern/opensubdiv/opensubdiv_converter.h
M intern/opensubdiv/opensubdiv_evaluator_capi.cc
M source/blender/blenkernel/intern/CCGSubSurf.c
===================================================================
diff --git a/intern/opensubdiv/opensubdiv_capi.cc b/intern/opensubdiv/opensubdiv_capi.cc
index bfefd27..fd90683 100644
--- a/intern/opensubdiv/opensubdiv_capi.cc
+++ b/intern/opensubdiv/opensubdiv_capi.cc
@@ -33,7 +33,6 @@
#include <GL/glew.h>
#include <opensubdiv/osd/glMesh.h>
-#include <opensubdiv/far/topologyRefinerFactory.h>
/* CPU Backend */
#include <opensubdiv/osd/cpuGLVertexBuffer.h>
diff --git a/intern/opensubdiv/opensubdiv_converter.h b/intern/opensubdiv/opensubdiv_converter.h
index 8b76b57..487459c 100644
--- a/intern/opensubdiv/opensubdiv_converter.h
+++ b/intern/opensubdiv/opensubdiv_converter.h
@@ -29,6 +29,8 @@
#include <opensubdiv/far/topologyRefinerFactory.h>
#include <opensubdiv/far/primvarRefiner.h>
+#include <cstdio>
+
extern "C" {
struct DerivedMesh;
}
@@ -254,10 +256,10 @@ inline bool TopologyRefinerFactory<OsdBlenderConverter>::assignComponentTopology
for (int vert = 0; vert < num_verts; ++vert) {
/* Vert-Faces */
IndexArray dst_vert_faces = getBaseVertexFaces(refiner, vert);
- //conv.get_vert_faces(vert, &dst_vert_faces[0]);
+ // conv.get_vert_faces(vert, &dst_vert_faces[0]);
/* Vert-Edges */
IndexArray dst_vert_edges = getBaseVertexEdges(refiner, vert);
- //conv.get_vert_edges(vert, &dst_vert_edges[0]);
+ // conv.get_vert_edges(vert, &dst_vert_edges[0]);
orderVertexFacesAndEdges(conv, vert, &dst_vert_faces[0], &dst_vert_edges[0]);
}
populateBaseLocalIndices(refiner);
@@ -277,6 +279,15 @@ inline bool TopologyRefinerFactory<OsdBlenderConverter>::assignComponentTags(
return true;
}
+template <>
+inline void TopologyRefinerFactory<OsdBlenderConverter>::reportInvalidTopology(
+ TopologyError /*errCode*/,
+ const char *msg,
+ const OsdBlenderConverter& /*mesh*/)
+{
+ printf("OpenSubdiv Error: %s\n", msg);
+}
+
} /* namespace Far */
} /* namespace OPENSUBDIV_VERSION */
} /* namespace OpenSubdiv */
diff --git a/intern/opensubdiv/opensubdiv_evaluator_capi.cc b/intern/opensubdiv/opensubdiv_evaluator_capi.cc
index 4c3af8c..0447910 100644
--- a/intern/opensubdiv/opensubdiv_evaluator_capi.cc
+++ b/intern/opensubdiv/opensubdiv_evaluator_capi.cc
@@ -28,7 +28,6 @@
#include <cstdio>
#include <vector>
-#include <opensubdiv/far/topologyRefinerFactory.h>
#include <opensubdiv/far/patchMap.h>
#include <opensubdiv/far/patchTable.h>
#include <opensubdiv/far/patchTableFactory.h>
@@ -51,7 +50,6 @@ using OpenSubdiv::Far::PatchTableFactory;
using OpenSubdiv::Far::StencilTable;
using OpenSubdiv::Far::StencilTableFactory;
using OpenSubdiv::Far::TopologyRefiner;
-using OpenSubdiv::Far::TopologyRefinerFactory;
namespace {
diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c
index 32a90bd..f55b7bf 100644
--- a/source/blender/blenkernel/intern/CCGSubSurf.c
+++ b/source/blender/blenkernel/intern/CCGSubSurf.c
@@ -2692,7 +2692,7 @@ static bool opensubdiv_ensureEvaluator(CCGSubSurf *ss)
} else {
OSD_LOG("Re-using old evaluator\n");
}
- return true;
+ return ss->osd_evaluator != NULL;
}
static void opensubdiv_updateCoarsePositions(CCGSubSurf *ss)
More information about the Bf-blender-cvs
mailing list