[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1984] trunk/py/scripts/addons/ io_scene_x3d: support for optionally exporting geometry as IndexedTriangleSet rather then IndexedFaceSet .
Campbell Barton
ideasman42 at gmail.com
Mon May 30 04:21:00 CEST 2011
Revision: 1984
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1984
Author: campbellbarton
Date: 2011-05-30 02:20:59 +0000 (Mon, 30 May 2011)
Log Message:
-----------
support for optionally exporting geometry as IndexedTriangleSet rather then IndexedFaceSet.
Modified Paths:
--------------
trunk/py/scripts/addons/io_scene_x3d/__init__.py
trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
Modified: trunk/py/scripts/addons/io_scene_x3d/__init__.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/__init__.py 2011-05-30 00:15:29 UTC (rev 1983)
+++ trunk/py/scripts/addons/io_scene_x3d/__init__.py 2011-05-30 02:20:59 UTC (rev 1984)
@@ -96,7 +96,7 @@
use_selection = BoolProperty(name="Selection Only", description="Export selected objects only", default=False)
use_apply_modifiers = BoolProperty(name="Apply Modifiers", description="Use transformed mesh data from each object", default=True)
- use_triangulate = BoolProperty(name="Triangulate", description="Triangulate quads.", default=False)
+ use_triangulate = BoolProperty(name="Triangulate", description="Write quads into 'IndexedTriangleSet'", default=False)
use_compress = BoolProperty(name="Compress", description="GZip the resulting file, requires a full python install", default=False)
axis_forward = EnumProperty(
Modified: trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/export_x3d.py 2011-05-30 00:15:29 UTC (rev 1983)
+++ trunk/py/scripts/addons/io_scene_x3d/export_x3d.py 2011-05-30 02:20:59 UTC (rev 1984)
@@ -424,8 +424,10 @@
fw("%s</Appearance>\n" % ident)
#-- IndexedFaceSet or IndexedLineSet
-
- fw("%s<IndexedFaceSet " % ident)
+ if EXPORT_TRI:
+ fw("%s<IndexedTriangleSet " % ident)
+ else:
+ fw("%s<IndexedFaceSet " % ident)
ident += "\t"
# --- Write IndexedFaceSet Attributes
@@ -438,16 +440,29 @@
fw("creaseAngle=\"%.4g\" " % mesh.auto_smooth_angle)
if is_uv:
- # "texCoordIndex"
- fw("%stexCoordIndex=\"" % ident)
+ if EXPORT_TRI:
+ fw("%stexIndex=\"" % ident)
+ else:
+ fw("%stexCoordIndex=\"" % ident)
+
j = 0
- for i in face_group:
- if len(mesh_faces[i].vertices) == 4:
- fw("%d %d %d %d -1, " % (j, j + 1, j + 2, j + 3))
- j += 4
- else:
- fw("%d %d %d -1, " % (j, j + 1, j + 2))
- j += 3
+ if EXPORT_TRI:
+ for i in face_group:
+ if len(mesh_faces[i].vertices) == 4:
+ fw("%d %d %d " % (j, j + 1, j + 2))
+ fw("%d %d %d " % (j, j + 2, j + 3))
+ j += 4
+ else:
+ fw("%d %d %d " % (j, j + 1, j + 2))
+ j += 3
+ else:
+ for i in face_group:
+ if len(mesh_faces[i].vertices) == 4:
+ fw("%d %d %d %d -1, " % (j, j + 1, j + 2, j + 3))
+ j += 4
+ else:
+ fw("%d %d %d -1, " % (j, j + 1, j + 2))
+ j += 3
fw("\" ")
# --- end texCoordIndex
@@ -456,15 +471,19 @@
if True:
# "coordIndex"
- fw("coordIndex=\"")
if EXPORT_TRI:
+ fw("index=\"")
+ else:
+ fw("coordIndex=\"")
+
+ if EXPORT_TRI:
for i in face_group:
fv = mesh_faces[i].vertices[:]
if len(fv) == 3:
- fw("%i %i %i -1, " % fv)
+ fw("%i %i %i " % fv)
else:
- fw("%i %i %i -1, " % (fv[0], fv[1], fv[2]))
- fw("%i %i %i -1, " % (fv[0], fv[2], fv[3]))
+ fw("%i %i %i " % (fv[0], fv[1], fv[2]))
+ fw("%i %i %i " % (fv[0], fv[2], fv[3]))
else:
for i in face_group:
fv = mesh_faces[i].vertices[:]
@@ -504,8 +523,14 @@
fw("%s<Color color=\"" % ident)
# XXX, 1 color per face, only
mesh_faces_col = mesh.vertex_colors.active.data
- for i in face_group:
- fw("%.3g %.3g %.3g, " % mesh_faces_col[i].color1[:])
+ if EXPORT_TRI:
+ for i in face_group:
+ fw("%.3g %.3g %.3g, " % mesh_faces_col[i].color1[:])
+ if len(mesh_faces[i].vertices) == 4:
+ fw("%.3g %.3g %.3g, " % mesh_faces_col[i].color1[:])
+ else:
+ for i in face_group:
+ fw("%.3g %.3g %.3g, " % mesh_faces_col[i].color1[:])
del mesh_faces_col
fw("\" />\n")
@@ -513,7 +538,12 @@
#--- output closing braces
ident = ident[:-1]
- fw("%s</IndexedFaceSet>\n" % ident)
+
+ if EXPORT_TRI:
+ fw("%s</IndexedTriangleSet>\n" % ident)
+ else:
+ fw("%s</IndexedFaceSet>\n" % ident)
+
ident = ident[:-1]
fw("%s</Shape>\n" % ident)
More information about the Bf-extensions-cvs
mailing list