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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-11-02 13:15:15 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-11-02 13:15:15 +0400
commitc560938e8b149ad492acf78b54debfc1e1bbba0e (patch)
tree531fffb8bc56e33a2321bd01f6086824877ecec6 /io_scene_x3d
parente20301fcba32a3efad1b8546aa466473b380f93b (diff)
replace %g string formatting with %f, also use quat.to_axis_angle()
Diffstat (limited to 'io_scene_x3d')
-rw-r--r--io_scene_x3d/export_x3d.py128
1 files changed, 66 insertions, 62 deletions
diff --git a/io_scene_x3d/export_x3d.py b/io_scene_x3d/export_x3d.py
index 7f5972c0..79afa5d8 100644
--- a/io_scene_x3d/export_x3d.py
+++ b/io_scene_x3d/export_x3d.py
@@ -327,15 +327,17 @@ def export(file,
def writeViewpoint(ident, obj, matrix, scene):
view_id = quoteattr(unique_name(obj, 'CA_' + obj.name, uuid_cache_view, clean_func=clean_def, sep="_"))
- loc, quat, scale = matrix.decompose()
+ loc, rot, scale = matrix.decompose()
+ rot = rot.to_axis_angle()
+ rot = rot[0][:] + (rot[1], )
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<Viewpoint ' % ident)))
fw('DEF=%s\n' % view_id)
fw(ident_step + 'centerOfRotation="0 0 0"\n')
fw(ident_step + 'position="%3.2f %3.2f %3.2f"\n' % loc[:])
- fw(ident_step + 'orientation="%3.2f %3.2f %3.2f %3.2f"\n' % (quat.axis.normalized()[:] + (quat.angle, )))
- fw(ident_step + 'fieldOfView="%.3g"\n' % obj.data.angle)
+ fw(ident_step + 'orientation="%3.2f %3.2f %3.2f %3.2f"\n' % rot)
+ fw(ident_step + 'fieldOfView="%.3f"\n' % obj.data.angle)
fw(ident_step + '/>\n')
def writeFog(ident, world):
@@ -349,8 +351,8 @@ def export(file,
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<Fog ' % ident)))
fw('fogType="%s"\n' % ('LINEAR' if (mtype == 'LINEAR') else 'EXPONENTIAL'))
- fw(ident_step + 'color="%.3g %.3g %.3g"\n' % clamp_color(world.horizon_color))
- fw(ident_step + 'visibilityRange="%.3g"\n' % mparam.depth)
+ fw(ident_step + 'color="%.3f %.3f %.3f"\n' % clamp_color(world.horizon_color))
+ fw(ident_step + 'visibilityRange="%.3f"\n' % mparam.depth)
fw(ident_step + '/>\n')
else:
return
@@ -372,12 +374,14 @@ def export(file,
else:
fw('\n')
- loc, quat, sca = matrix.decompose()
+ loc, rot, sca = matrix.decompose()
+ rot = rot.to_axis_angle()
+ rot = rot[0][:] + (rot[1], )
- fw(ident_step + 'translation="%.6g %.6g %.6g"\n' % loc[:])
- # fw(ident_step + 'center="%.6g %.6g %.6g"\n' % (0, 0, 0))
- fw(ident_step + 'scale="%.6g %.6g %.6g"\n' % sca[:])
- fw(ident_step + 'rotation="%.6g %.6g %.6g %.6g"\n' % (quat.axis.normalized()[:] + (quat.angle, )))
+ fw(ident_step + 'translation="%.6f %.6f %.6f"\n' % loc[:])
+ # fw(ident_step + 'center="%.6f %.6f %.6f"\n' % (0, 0, 0))
+ fw(ident_step + 'scale="%.6f %.6f %.6f"\n' % sca[:])
+ fw(ident_step + 'rotation="%.6f %.6f %.6f %.6f"\n' % rot)
fw(ident_step + '>\n')
ident += '\t'
return ident
@@ -413,14 +417,14 @@ def export(file,
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<SpotLight ' % ident)))
fw('DEF=%s\n' % lamp_id)
- fw(ident_step + 'radius="%.4g"\n' % radius)
- fw(ident_step + 'ambientIntensity="%.4g"\n' % amb_intensity)
- fw(ident_step + 'intensity="%.4g"\n' % intensity)
- fw(ident_step + 'color="%.4g %.4g %.4g"\n' % clamp_color(lamp.color))
- fw(ident_step + 'beamWidth="%.4g"\n' % beamWidth)
- fw(ident_step + 'cutOffAngle="%.4g"\n' % cutOffAngle)
- fw(ident_step + 'direction="%.4g %.4g %.4g"\n' % orientation)
- fw(ident_step + 'location="%.4g %.4g %.4g"\n' % location)
+ fw(ident_step + 'radius="%.4f"\n' % radius)
+ fw(ident_step + 'ambientIntensity="%.4f"\n' % amb_intensity)
+ fw(ident_step + 'intensity="%.4f"\n' % intensity)
+ fw(ident_step + 'color="%.4f %.4f %.4f"\n' % clamp_color(lamp.color))
+ fw(ident_step + 'beamWidth="%.4f"\n' % beamWidth)
+ fw(ident_step + 'cutOffAngle="%.4f"\n' % cutOffAngle)
+ fw(ident_step + 'direction="%.4f %.4f %.4f"\n' % orientation)
+ fw(ident_step + 'location="%.4f %.4f %.4f"\n' % location)
fw(ident_step + '/>\n')
def writeDirectionalLight(ident, obj, matrix, lamp, world):
@@ -442,10 +446,10 @@ def export(file,
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<DirectionalLight ' % ident)))
fw('DEF=%s\n' % lamp_id)
- fw(ident_step + 'ambientIntensity="%.4g"\n' % amb_intensity)
- fw(ident_step + 'color="%.4g %.4g %.4g"\n' % clamp_color(lamp.color))
- fw(ident_step + 'intensity="%.4g"\n' % intensity)
- fw(ident_step + 'direction="%.4g %.4g %.4g"\n' % orientation)
+ fw(ident_step + 'ambientIntensity="%.4f"\n' % amb_intensity)
+ fw(ident_step + 'color="%.4f %.4f %.4f"\n' % clamp_color(lamp.color))
+ fw(ident_step + 'intensity="%.4f"\n' % intensity)
+ fw(ident_step + 'direction="%.4f %.4f %.4f"\n' % orientation)
fw(ident_step + '/>\n')
def writePointLight(ident, obj, matrix, lamp, world):
@@ -466,12 +470,12 @@ def export(file,
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<PointLight ' % ident)))
fw('DEF=%s\n' % lamp_id)
- fw(ident_step + 'ambientIntensity="%.4g"\n' % amb_intensity)
- fw(ident_step + 'color="%.4g %.4g %.4g"\n' % clamp_color(lamp.color))
+ fw(ident_step + 'ambientIntensity="%.4f"\n' % amb_intensity)
+ fw(ident_step + 'color="%.4f %.4f %.4f"\n' % clamp_color(lamp.color))
- fw(ident_step + 'intensity="%.4g"\n' % intensity)
- fw(ident_step + 'radius="%.4g" \n' % lamp.distance)
- fw(ident_step + 'location="%.4g %.4g %.4g"\n' % location)
+ fw(ident_step + 'intensity="%.4f"\n' % intensity)
+ fw(ident_step + 'radius="%.4f" \n' % lamp.distance)
+ fw(ident_step + 'location="%.4f %.4f %.4f"\n' % location)
fw(ident_step + '/>\n')
def writeIndexedFaceSet(ident, obj, mesh, matrix, world):
@@ -627,10 +631,10 @@ def export(file,
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<TextureTransform ' % ident)))
fw('\n')
- # fw('center="%.6g %.6g" ' % (0.0, 0.0))
- fw(ident_step + 'translation="%.6g %.6g"\n' % loc)
- fw(ident_step + 'scale="%.6g %.6g"\n' % (sca_x, sca_y))
- fw(ident_step + 'rotation="%.6g"\n' % rot)
+ # fw('center="%.6f %.6f" ' % (0.0, 0.0))
+ fw(ident_step + 'translation="%.6f %.6f"\n' % loc)
+ fw(ident_step + 'scale="%.6f %.6f"\n' % (sca_x, sca_y))
+ fw(ident_step + 'rotation="%.6f"\n' % rot)
fw(ident_step + '/>\n')
if use_h3d:
@@ -743,26 +747,26 @@ def export(file,
fw('%s<Coordinate ' % ident)
fw('point="')
for x3d_v in vert_tri_list:
- fw('%.6g %.6g %.6g ' % mesh_vertices[x3d_v[1]].co[:])
+ fw('%.6f %.6f %.6f ' % mesh_vertices[x3d_v[1]].co[:])
fw('" />\n')
if use_normals or is_force_normals:
fw('%s<Normal ' % ident)
fw('vector="')
for x3d_v in vert_tri_list:
- fw('%.6g %.6g %.6g ' % mesh_vertices[x3d_v[1]].normal[:])
+ fw('%.6f %.6f %.6f ' % mesh_vertices[x3d_v[1]].normal[:])
fw('" />\n')
if is_uv:
fw('%s<TextureCoordinate point="' % ident)
for x3d_v in vert_tri_list:
- fw('%.4g %.4g ' % x3d_v[0][slot_uv])
+ fw('%.4f %.4f ' % x3d_v[0][slot_uv])
fw('" />\n')
if is_col:
fw('%s<Color color="' % ident)
for x3d_v in vert_tri_list:
- fw('%.3g %.3g %.3g ' % x3d_v[0][slot_col])
+ fw('%.3f %.3f %.3f ' % x3d_v[0][slot_col])
fw('" />\n')
if use_h3d:
@@ -777,7 +781,7 @@ def export(file,
fw('numComponents="2" ')
fw('value="')
for x3d_v in vert_tri_list:
- fw('%.4g %.4g ' % x3d_v[0][slot_uv])
+ fw('%.4f %.4f ' % x3d_v[0][slot_uv])
fw('" />\n')
else:
assert(0)
@@ -799,7 +803,7 @@ def export(file,
# --- Write IndexedFaceSet Attributes (same as IndexedTriangleSet)
fw('solid="%s"\n' % ('true' if mesh.show_double_sided else 'false'))
if is_smooth:
- fw(ident_step + 'creaseAngle="%.4g"\n' % mesh.auto_smooth_angle)
+ fw(ident_step + 'creaseAngle="%.4f"\n' % mesh.auto_smooth_angle)
if use_normals:
# currently not optional, could be made so:
@@ -852,7 +856,7 @@ def export(file,
fw('DEF=%s\n' % mesh_id_coords)
fw(ident_step + 'point="')
for v in mesh.vertices:
- fw('%.6g %.6g %.6g ' % v.co[:])
+ fw('%.6f %.6f %.6f ' % v.co[:])
fw('"\n')
fw(ident_step + '/>\n')
@@ -864,7 +868,7 @@ def export(file,
fw('DEF=%s\n' % mesh_id_normals)
fw(ident_step + 'vector="')
for v in mesh.vertices:
- fw('%.6g %.6g %.6g ' % v.normal[:])
+ fw('%.6f %.6f %.6f ' % v.normal[:])
fw('"\n')
fw(ident_step + '/>\n')
@@ -872,7 +876,7 @@ def export(file,
fw('%s<TextureCoordinate point="' % ident)
for i in face_group:
for uv in mesh_faces_uv[i].uv:
- fw('%.4g %.4g ' % uv[:])
+ fw('%.4f %.4f ' % uv[:])
del mesh_faces_uv
fw('" />\n')
@@ -880,7 +884,7 @@ def export(file,
fw('%s<Color color="' % ident)
# XXX, 1 color per face, only
for i in face_group:
- fw('%.3g %.3g %.3g ' % mesh_faces_col[i].color1[:])
+ fw('%.3f %.3f %.3f ' % mesh_faces_col[i].color1[:])
fw('" />\n')
#--- output vertexColors
@@ -938,11 +942,11 @@ def export(file,
ident_step = ident + (' ' * (-len(ident) + \
fw('%s<Material ' % ident)))
fw('DEF=%s\n' % material_id)
- fw(ident_step + 'diffuseColor="%.3g %.3g %.3g"\n' % clamp_color(diffuseColor))
- fw(ident_step + 'specularColor="%.3g %.3g %.3g"\n' % clamp_color(specColor))
- fw(ident_step + 'emissiveColor="%.3g %.3g %.3g"\n' % clamp_color(emitColor))
- fw(ident_step + 'ambientIntensity="%.3g"\n' % ambient)
- fw(ident_step + 'shininess="%.3g"\n' % shininess)
+ fw(ident_step + 'diffuseColor="%.3f %.3f %.3f"\n' % clamp_color(diffuseColor))
+ fw(ident_step + 'specularColor="%.3f %.3f %.3f"\n' % clamp_color(specColor))
+ fw(ident_step + 'emissiveColor="%.3f %.3f %.3f"\n' % clamp_color(emitColor))
+ fw(ident_step + 'ambientIntensity="%.3f"\n' % ambient)
+ fw(ident_step + 'shininess="%.3f"\n' % shininess)
fw(ident_step + 'transparency="%s"\n' % transp)
fw(ident_step + '/>\n')
@@ -1078,7 +1082,7 @@ def export(file,
lamp_obj_id = quoteattr(unique_name(lamp_obj, 'LA_' + lamp_obj.name, uuid_cache_lamp, clean_func=clean_def, sep="_"))
lamp_obj_transform_id = quoteattr(unique_name(lamp_obj, lamp_obj.name, uuid_cache_object, clean_func=clean_def, sep="_"))
- value = '%.6g %.6g %.6g' % (global_matrix * lamp_obj.matrix_world).to_translation()[:]
+ value = '%.6f %.6f %.6f' % (global_matrix * lamp_obj.matrix_world).to_translation()[:]
field_descr = " <!--- Lamp DynCo '%s' -->" % lamp_obj.name
fw('%s<field name="%s" type="SFVec3f" accessType="inputOutput" value="%s" />%s\n' % (ident, uniform['varname'], value, field_descr))
@@ -1107,7 +1111,7 @@ def export(file,
frag_uniform_var_map[uniform['varname']] = lamp_obj
lamp = lamp_obj.data
- value = '%.6g %.6g %.6g' % (lamp.color * lamp.energy)[:]
+ value = '%.6f %.6f %.6f' % (lamp.color * lamp.energy)[:]
field_descr = " <!--- Lamp DynColor '%s' -->" % lamp_obj.name
if uniform['datatype'] == gpu.GPU_DATA_3F:
fw('%s<field name="%s" type="SFVec3f" accessType="inputOutput" value="%s" />%s\n' % (ident, uniform['varname'], value, field_descr))
@@ -1126,7 +1130,7 @@ def export(file,
if uniform['datatype'] == gpu.GPU_DATA_3F:
lamp_obj = uniform['lamp']
- value = '%.6g %.6g %.6g' % ((global_matrix * lamp_obj.matrix_world).to_quaternion() * mathutils.Vector((0.0, 0.0, 1.0))).normalized()[:]
+ value = '%.6f %.6f %.6f' % ((global_matrix * lamp_obj.matrix_world).to_quaternion() * mathutils.Vector((0.0, 0.0, 1.0))).normalized()[:]
field_descr = " <!--- Lamp DynDirection '%s' -->" % lamp_obj.name
fw('%s<field name="%s" type="SFVec3f" accessType="inputOutput" value="%s" />%s\n' % (ident, uniform['varname'], value, field_descr))
@@ -1194,7 +1198,7 @@ def export(file,
#for i in range(0, 10, 4)
#value = ' '.join(['%d' % f for f in uniform['texpixels']])
- # value = ' '.join(['%.6g' % (f / 256) for f in uniform['texpixels']])
+ # value = ' '.join(['%.6f' % (f / 256) for f in uniform['texpixels']])
#fw('%s<field name="%s" type="SFInt32" accessType="inputOutput" value="%s" />%s\n' % (ident, uniform['varname'], value, field_descr))
#print('test', len(uniform['texpixels']))
@@ -1273,34 +1277,34 @@ def export(file,
fw('DEF=%s\n' % world_id)
# No Skytype - just Hor color
if blending == (False, False, False):
- fw(ident_step + 'groundColor="%.3g %.3g %.3g"\n' % grd_triple)
- fw(ident_step + 'skyColor="%.3g %.3g %.3g"\n' % grd_triple)
+ fw(ident_step + 'groundColor="%.3f %.3f %.3f"\n' % grd_triple)
+ fw(ident_step + 'skyColor="%.3f %.3f %.3f"\n' % grd_triple)
# Blend Gradient
elif blending == (True, False, False):
- fw(ident_step + 'groundColor="%.3g %.3g %.3g, %.3g %.3g %.3g"\n' % (grd_triple + mix_triple))
+ fw(ident_step + 'groundColor="%.3f %.3f %.3f, %.3f %.3f %.3f"\n' % (grd_triple + mix_triple))
fw(ident_step + 'groundAngle="1.57, 1.57"\n')
- fw(ident_step + 'skyColor="%.3g %.3g %.3g, %.3g %.3g %.3g"\n' % (sky_triple + mix_triple))
+ fw(ident_step + 'skyColor="%.3f %.3f %.3f, %.3f %.3f %.3f"\n' % (sky_triple + mix_triple))
fw(ident_step + 'skyAngle="1.57, 1.57"\n')
# Blend+Real Gradient Inverse
elif blending == (True, False, True):
- fw(ident_step + 'groundColor="%.3g %.3g %.3g, %.3g %.3g %.3g"\n' % (sky_triple + grd_triple))
+ fw(ident_step + 'groundColor="%.3f %.3f %.3f, %.3f %.3f %.3f"\n' % (sky_triple + grd_triple))
fw(ident_step + 'groundAngle="1.57"\n')
- fw(ident_step + 'skyColor="%.3g %.3g %.3g, %.3g %.3g %.3g, %.3g %.3g %.3g"\n' % (sky_triple + grd_triple + sky_triple))
+ fw(ident_step + 'skyColor="%.3f %.3f %.3f, %.3f %.3f %.3f, %.3f %.3f %.3f"\n' % (sky_triple + grd_triple + sky_triple))
fw(ident_step + 'skyAngle="1.57, 3.14159"\n')
# Paper - just Zen Color
elif blending == (False, False, True):
- fw(ident_step + 'groundColor="%.3g %.3g %.3g"\n' % sky_triple)
- fw(ident_step + 'skyColor="%.3g %.3g %.3g"\n' % sky_triple)
+ fw(ident_step + 'groundColor="%.3f %.3f %.3f"\n' % sky_triple)
+ fw(ident_step + 'skyColor="%.3f %.3f %.3f"\n' % sky_triple)
# Blend+Real+Paper - komplex gradient
elif blending == (True, True, True):
- fw(ident_step + 'groundColor="%.3g %.3g %.3g, %.3g %.3g %.3g"\n' % (sky_triple + grd_triple))
+ fw(ident_step + 'groundColor="%.3f %.3f %.3f, %.3f %.3f %.3f"\n' % (sky_triple + grd_triple))
fw(ident_step + 'groundAngle="1.57, 1.57"\n')
- fw(ident_step + 'skyColor="%.3g %.3g %.3g, %.3g %.3g %.3g"\n' % (sky_triple + grd_triple))
+ fw(ident_step + 'skyColor="%.3f %.3f %.3f, %.3f %.3f %.3f"\n' % (sky_triple + grd_triple))
fw(ident_step + 'skyAngle="1.57, 1.57"\n')
# Any Other two colors
else:
- fw(ident_step + 'groundColor="%.3g %.3g %.3g"\n' % grd_triple)
- fw(ident_step + 'skyColor="%.3g %.3g %.3g"\n' % sky_triple)
+ fw(ident_step + 'groundColor="%.3f %.3f %.3f"\n' % grd_triple)
+ fw(ident_step + 'skyColor="%.3f %.3f %.3f"\n' % sky_triple)
for tex in bpy.data.textures:
if tex.type == 'IMAGE' and tex.image: