Class NiGeometryData
source code
object --+
|
utils.graph.DetailNode --+
|
utils.graph.GlobalNode --+
|
object_models.xml.struct_.StructBase --+
|
NifFormat._NiObject --+
|
NifFormat.NiObject --+
|
NifFormat._NiGeometryData --+
|
NifFormat.NiGeometryData
- Known Subclasses:
-
>>> from pyffi.formats.nif import NifFormat
>>> geomdata = NifFormat.NiGeometryData()
>>> geomdata.num_vertices = 3
>>> geomdata.has_vertices = True
>>> geomdata.has_normals = True
>>> geomdata.has_vertex_colors = True
>>> geomdata.num_uv_sets = 2
>>> geomdata.vertices.update_size()
>>> geomdata.normals.update_size()
>>> geomdata.vertex_colors.update_size()
>>> geomdata.uv_sets.update_size()
>>> geomdata.vertices[0].x = 1
>>> geomdata.vertices[0].y = 2
>>> geomdata.vertices[0].z = 3
>>> geomdata.vertices[1].x = 4
>>> geomdata.vertices[1].y = 5
>>> geomdata.vertices[1].z = 6
>>> geomdata.vertices[2].x = 1.200001
>>> geomdata.vertices[2].y = 3.400001
>>> geomdata.vertices[2].z = 5.600001
>>> geomdata.normals[0].x = 0
>>> geomdata.normals[0].y = 0
>>> geomdata.normals[0].z = 1
>>> geomdata.normals[1].x = 0
>>> geomdata.normals[1].y = 1
>>> geomdata.normals[1].z = 0
>>> geomdata.normals[2].x = 1
>>> geomdata.normals[2].y = 0
>>> geomdata.normals[2].z = 0
>>> geomdata.vertex_colors[1].r = 0.310001
>>> geomdata.vertex_colors[1].g = 0.320001
>>> geomdata.vertex_colors[1].b = 0.330001
>>> geomdata.vertex_colors[1].a = 0.340001
>>> geomdata.uv_sets[0][0].u = 0.990001
>>> geomdata.uv_sets[0][0].v = 0.980001
>>> geomdata.uv_sets[0][2].u = 0.970001
>>> geomdata.uv_sets[0][2].v = 0.960001
>>> geomdata.uv_sets[1][0].v = 0.910001
>>> geomdata.uv_sets[1][0].v = 0.920001
>>> geomdata.uv_sets[1][2].v = 0.930001
>>> geomdata.uv_sets[1][2].v = 0.940001
>>> for h in geomdata.get_vertex_hash_generator():
... print(h)
(1000, 2000, 3000, 0, 0, 1000, 99000, 98000, 0, 92000, 0, 0, 0, 0)
(4000, 5000, 6000, 0, 1000, 0, 0, 0, 0, 0, 310, 320, 330, 340)
(1200, 3400, 5600, 1000, 0, 0, 97000, 96000, 0, 94000, 0, 0, 0, 0)
|
update_center_radius(self)
Recalculate center and radius of the data. |
source code
|
|
|
|
|
get_vertex_hash_generator(self,
vertexprecision=3,
normalprecision=3,
uvprecision=5,
vcolprecision=3)
Generator which produces a tuple of integers for each
(vertex, normal, uv, vcol), to ease detection of duplicate
vertices. |
source code
|
|
Inherited from NiObject :
find ,
find_chain ,
is_interchangeable ,
tree
Inherited from object_models.xml.struct_.StructBase :
__init__ ,
__str__ ,
deepcopy ,
fix_links ,
get_attribute ,
get_basic_attribute ,
get_detail_child_names ,
get_detail_child_nodes ,
get_global_child_nodes ,
get_global_display ,
get_hash ,
get_links ,
get_refs ,
get_size ,
get_strings ,
get_template_attribute ,
read ,
replace_global_node ,
set_attribute ,
set_basic_attribute ,
set_template_attribute ,
write
Inherited from utils.graph.GlobalNode :
get_global_child_edge_types ,
get_global_iterator
Inherited from utils.graph.DetailNode :
get_detail_child_edge_types ,
get_detail_display ,
get_detail_iterator
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__subclasshook__
|
Inherited from _NiGeometryData :
additional_data ,
bitangents ,
bs_num_uv_sets ,
center ,
compress_flags ,
consistency_flags ,
has_normals ,
has_uv ,
has_vertex_colors ,
has_vertices ,
keep_flags ,
normals ,
num_uv_sets ,
num_vertices ,
radius ,
tangents ,
unknown_13_shorts ,
unknown_int ,
uv_sets ,
vertex_colors ,
vertices
Inherited from object :
__class__
|
get_vertex_hash_generator(self,
vertexprecision=3,
normalprecision=3,
uvprecision=5,
vcolprecision=3)
| source code
|
Generator which produces a tuple of integers for each
(vertex, normal, uv, vcol), to ease detection of duplicate
vertices. The precision parameters denote number of
significant digits behind the comma.
Default for uvprecision should really be high because for
very large models the uv coordinates can be very close
together.
For vertexprecision, 3 seems usually enough (maybe we'll
have to increase this at some point).
- Parameters:
vertexprecision (float) - Precision to be used for vertices.
normalprecision (float) - Precision to be used for normals.
uvprecision (float) - Precision to be used for uvs.
vcolprecision (float) - Precision to be used for vertex colors.
- Returns:
- A generator yielding a hash value for each vertex.
|
_attribute_list
- Value:
[ <pyffi.object_models.xml.StructAttribute object at 0x2dd11d0>,
<pyffi.object_models.xml.StructAttribute object at 0x2dd1f10>,
<pyffi.object_models.xml.StructAttribute object at 0x2dcce50>,
<pyffi.object_models.xml.StructAttribute object at 0x2dcccd0>,
<pyffi.object_models.xml.StructAttribute object at 0x2dd9610>,
<pyffi.object_models.xml.StructAttribute object at 0x2dd9650>,
<pyffi.object_models.xml.StructAttribute object at 0x2dd9750>,
<pyffi.object_models.xml.StructAttribute object at 0x2dd9a90>,
...
|
|