Beispiel #1
0
 def read(self):
     name = self.stream.read_string()
     values = self.stream.unpack('3f 4f 3f')
     position = Vector3._make(values[0:3])
     rotation = Quaternion._make(values[3:7])
     scale = Vector3._make(values[7:10])
     actor_settings = self.stream.read_object(ArtObjectActorSettingsReader)
     return ArtObjectInstance(name, position, rotation, scale, actor_settings)
Beispiel #2
0
 def read(self):
     name = self.stream.read_string()
     values = self.stream.unpack("3f 4f 3f")
     position = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     rotation = Quaternion._make(values[3:7])  # pylint: disable-msg=W0212,E1101
     scale = Vector3._make(values[7:10])  # pylint: disable-msg=W0212,E1101
     actor_settings = self.stream.read_object(ArtObjectActorSettingsReader)
     return ArtObjectInstance(name, position, rotation, scale, actor_settings)
Beispiel #3
0
 def read(self):
     values = self.stream.unpack('3f B 2f')
     position = Vector3._make(values[0:3])
     normal = values[3]
     texture_coord = Vector2._make(values[4:6])
     return VertexPositionNormalTextureInstance(position, normal,
                                                texture_coord)
Beispiel #4
0
 def read(self):
     values = self.stream.unpack('3f B 2f')
     position = Vector3._make(
         values[0:3])  # pylint: disable-msg=W0212,E1101
     normal = values[3]
     texture_coord = Vector2._make(
         values[4:6])  # pylint: disable-msg=W0212,E1101
     return VertexPositionNormalTextureInstance(position, normal,
                                                texture_coord)
Beispiel #5
0
 def read(self):
     values = self.stream.unpack('3f i B ?')
     position = Vector3._make(values[0:3])
     trile_id = values[3]
     orientation = values[4]
     actor_settings = None
     has_actor_settings = values[5]
     if has_actor_settings:
         actor_settings = self.stream.read_object(InstanceActorSettingsReader)
     overlapped_triles = self.stream.read_object(ListReader, [TrileInstanceReader])
     return TrileInstance(position, trile_id, orientation, actor_settings, overlapped_triles)
Beispiel #6
0
 def read(self):
     values = self.stream.unpack("3f i B ?")
     position = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     trile_id = values[3]
     orientation = values[4]
     actor_settings = None
     has_actor_settings = values[5]
     if has_actor_settings:
         actor_settings = self.stream.read_object(InstanceActorSettingsReader)
     overlapped_triles = self.stream.read_object(ListReader, [TrileInstanceReader])
     return TrileInstance(position, trile_id, orientation, actor_settings, overlapped_triles)
Beispiel #7
0
 def read(self):
     values = self.stream.unpack('3f B 2f')
     position = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     normal = values[3]
     texture_coord = Vector2._make(values[4:6])  # pylint: disable-msg=W0212,E1101
     return VertexPositionNormalTextureInstance(position, normal, texture_coord)
Beispiel #8
0
 def read_vector3(self):
     return Vector3._make(self.unpack('3f'))  # pylint: disable-msg=W0212,E1101
Beispiel #9
0
 def read(self):
     values = self.stream.unpack('3f 3f')
     v_min = Vector3._make(values[0:3])
     v_max = Vector3._make(values[3:6])
     return BoundingBox(v_min, v_max)
Beispiel #10
0
 def read(self):
     values = self.stream.unpack('3f f')
     plane_normal = Vector3._make(values[0:3])
     plane_d = values[3]
     return Plane(plane_normal, plane_d)
Beispiel #11
0
 def read(self):
     values = self.stream.unpack('3f 3f')
     v_min = Vector3._make(values[0:3])
     v_max = Vector3._make(values[3:6])
     return BoundingBox(v_min, v_max)
Beispiel #12
0
 def read(self):
     values = self.stream.unpack('3f 3f')
     v_min = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     v_max = Vector3._make(values[3:6])  # pylint: disable-msg=W0212,E1101
     return BoundingBox(v_min, v_max)
Beispiel #13
0
 def read(self):
     return Vector3._make(self.stream.unpack('3f'))  # pylint: disable-msg=W0212,E1101
Beispiel #14
0
 def read(self):
     values = self.stream.unpack('3f f')
     plane_normal = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     plane_d = values[3]
     return Plane(plane_normal, plane_d)
Beispiel #15
0
 def read(self):
     values = self.stream.unpack('3f 3f')
     v_pos = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     v_dir = Vector3._make(values[3:6])  # pylint: disable-msg=W0212,E1101
     return Ray(v_pos, v_dir)
Beispiel #16
0
 def read(self):
     values = self.stream.unpack('3f f')
     v_centre = Vector3._make(values[0:3])  # pylint: disable-msg=W0212,E1101
     v_radius = values[3]
     return BoundingSphere(v_centre, v_radius)
Beispiel #17
0
 def read_vector3(self):
     return Vector3._make(self.unpack('3f'))
Beispiel #18
0
 def read(self):
     return Vector3._make(self.stream.unpack('3f'))
Beispiel #19
0
 def read(self):
     values = self.stream.unpack('3f 3f')
     v_pos = Vector3._make(values[0:3])
     v_dir = Vector3._make(values[3:6])
     return Ray(v_pos, v_dir)
Beispiel #20
0
"""

from __future__ import print_function

import sys
import pyglet
from pyglet.gl import *  # pylint: disable-msg=W0614,W0401

from xnb_parse.fez_content_manager import FezContentManager
from xnb_parse.trackball_camera import TrackballCamera, norm1, vec_args
from xnb_parse.type_reader import ReaderError
from xnb_parse.xna_content_manager import ContentManager
from xnb_parse.xna_types.xna_math import Vector3

NORMALS = [
    Vector3(-1.0, 0.0, 0.0),
    Vector3(0.0, -1.0, 0.0),
    Vector3(0.0, 0.0, -1.0),
    Vector3(1.0, 0.0, 0.0),
    Vector3(0.0, 1.0, 0.0),
    Vector3(0.0, 0.0, 1.0)
]


#noinspection PyMethodOverriding
class AOWindow(pyglet.window.Window):  # pylint: disable-msg=W0223
    wireframe = False
    lighting = True
    culling = False
    texturing = True
Beispiel #21
0
 def read(self):
     return Vector3._make(self.stream.unpack('3f'))
Beispiel #22
0
 def read(self):
     values = self.stream.unpack('3f f')
     v_centre = Vector3._make(values[0:3])
     v_radius = values[3]
     return BoundingSphere(v_centre, v_radius)
Beispiel #23
0
 def read(self):
     values = self.stream.unpack('3f f')
     plane_normal = Vector3._make(values[0:3])
     plane_d = values[3]
     return Plane(plane_normal, plane_d)
Beispiel #24
0
 def read(self):
     values = self.stream.unpack('3f 3f')
     v_pos = Vector3._make(values[0:3])
     v_dir = Vector3._make(values[3:6])
     return Ray(v_pos, v_dir)
Beispiel #25
0
 def read(self):
     values = self.stream.unpack('3f f')
     v_centre = Vector3._make(values[0:3])
     v_radius = values[3]
     return BoundingSphere(v_centre, v_radius)