本文整理汇总了Python中collada.E.geometry方法的典型用法代码示例。如果您正苦于以下问题:Python E.geometry方法的具体用法?Python E.geometry怎么用?Python E.geometry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类collada.E
的用法示例。
在下文中一共展示了E.geometry方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from collada import E [as 别名]
# 或者: from collada.E import geometry [as 别名]
def __init__(self, collada, id, name, sourcebyid, primitives=None, xmlnode=None, double_sided=False):
"""Create a geometry instance
:param collada.Collada collada:
The collada object this geometry belongs to
:param str id:
A unique string identifier for the geometry
:param str name:
A text string naming the geometry
:param sourcebyid:
A list of :class:`collada.source.Source` objects or
a dictionary mapping source ids to the actual objects
:param list primitives:
List of primitive objects contained within the geometry.
Do not set this argument manually. Instead, create a
:class:`collada.geometry.Geometry` first and then append
to :attr:`primitives` with the `create*` functions.
:param xmlnode:
When loaded, the xmlnode it comes from.
:param bool double_sided:
Whether or not the geometry should be rendered double sided
"""
self.collada = collada
"""The :class:`collada.Collada` object this geometry belongs to"""
self.id = id
"""The unique string identifier for the geometry"""
self.name = name
"""The text string naming the geometry"""
self.double_sided = double_sided
"""A boolean indicating whether or not the geometry should be rendered double sided"""
self.sourceById = sourcebyid
"""A dictionary containing :class:`collada.source.Source` objects indexed by their id."""
if type(sourcebyid) is types.ListType:
self.sourceById = {}
for src in sourcebyid:
self.sourceById[src.id] = src
self.primitives = []
"""List of primitives (base type :class:`collada.primitive.Primitive`) inside this geometry."""
if primitives is not None:
self.primitives = primitives
if xmlnode != None:
self.xmlnode = xmlnode
"""ElementTree representation of the geometry."""
else:
sourcenodes = []
verticesnode = None
for srcid, src in self.sourceById.iteritems():
sourcenodes.append(src.xmlnode)
if verticesnode is None:
# pick first source to be in the useless <vertices> tag
verticesnode = E.vertices(
E.input(semantic="POSITION", source="#%s" % srcid), id=srcid + "-vertices"
)
meshnode = E.mesh(*sourcenodes)
meshnode.append(verticesnode)
self.xmlnode = E.geometry(meshnode)
if len(self.id) > 0:
self.xmlnode.set("id", self.id)
if len(self.name) > 0:
self.xmlnode.set("name", self.name)