def _recreateXmlNode(self): perspective_node = E.perspective() if self.xfov is not None: perspective_node.append(E.xfov(str(self.xfov))) if self.yfov is not None: perspective_node.append(E.yfov(str(self.yfov))) if self.aspect_ratio is not None: perspective_node.append(E.aspect_ratio(str(self.aspect_ratio))) perspective_node.append(E.znear(str(self.znear))) perspective_node.append(E.zfar(str(self.zfar))) self.xmlnode = E.camera( E.optics( E.technique_common(perspective_node) ) , id=self.id, name=self.id)
def _recreateXmlNode(self): orthographic_node = E.orthographic() if self.xmag is not None: orthographic_node.append(E.xmag(str(self.xmag))) if self.ymag is not None: orthographic_node.append(E.ymag(str(self.ymag))) if self.aspect_ratio is not None: orthographic_node.append(E.aspect_ratio(str(self.aspect_ratio))) orthographic_node.append(E.znear(str(self.znear))) orthographic_node.append(E.zfar(str(self.zfar))) self.xmlnode = E.camera( E.optics( E.technique_common(orthographic_node) ) , id=self.id, name=self.id)
def __init__(self, id, fov, near, far, xmlnode = None): """Create a new camera. :Parameters: id Id for the object fov Y axis field of visiona in degrees near Near plane distance far Far plane distance xmlnode If load form xml, the xml node """ self.id = id """Id in the camera library.""" self.fov = fov """Field of vision in degrees.""" self.near = near """Near plane distance.""" self.far = far """Far plane distance.""" self.position = numpy.array( [0, 0, 0], dtype=numpy.float32 ) """Position in space of the point of view.""" self.direction = numpy.array( [0, 0, -1], dtype=numpy.float32 ) """Look direction of the camera.""" self.up = numpy.array( [0, 1, 0], dtype=numpy.float32 ) """Up vector of the camera.""" if xmlnode != None: self.xmlnode = xmlnode else: self.xmlnode = E.camera( E.optics( E.technique_common( E.perspective( E.yfov(str(self.fov)), E.znear(str(self.near)), E.zfar(str(self.far)) ) ) ) , id=self.id, name=self.id)
def __init__(self, id, fov, near, far, xmlnode = None): """Create a new camera. :param str id: Id for the object :param float fov: Y axis field of vision in degrees :param float near: Near plane distance :param float far: Far plane distance :param xmlnode: If loaded from xml, the xml node """ self.id = id """Id in the camera library.""" self.fov = fov """Field of vision in degrees.""" self.near = near """Near plane distance.""" self.far = far """Far plane distance.""" if xmlnode != None: self.xmlnode = xmlnode """ElementTree representation of the data.""" else: self.xmlnode = E.camera( E.optics( E.technique_common( E.perspective( E.yfov(str(self.fov)), E.znear(str(self.near)), E.zfar(str(self.far)) ) ) ) , id=self.id, name=self.id)