Ejemplo n.º 1
0
 def build_from_vectors(cls, v1=Vector3(), v2=Vector3(), v3=Vector3()):
     cls._check_param_type('v1', v1, Vector3)
     cls._check_param_type('v2', v2, Vector3)
     cls._check_param_type('v3', v3, Vector3)
     gd_ptr = godot_plane_alloc()
     lib.godot_plane_new_with_vectors(gd_ptr, v1._gd_ptr, v2._gd_ptr,
                                      v3._gd_ptr)
     return cls.build_from_gdobj(gd_ptr, steal=True)
Ejemplo n.º 2
0
 def built_from_axis_origin(cls,
                            x_axis=Vector3(),
                            y_axis=Vector3(),
                            z_axis=Vector3(),
                            origin=Vector3()):
     self._check_param_type("x_axis", x_axis, Vector3)
     self._check_param_type("y_axis", y_axis, Vector3)
     self._check_param_type("z_axis", z_axis, Vector3)
     self._check_param_type("origin", origin, Vector3)
     ret = Transform()
     lib.godot_transform_new_with_axis_origin(self._gd_ptr, x_axis._gd_ptr,
                                              y_axis._gd_ptr, z._gd_ptr,
                                              origin._gd_ptr)
     return ret
Ejemplo n.º 3
0
 def intersects_ray(self, from_, dir):
     self._check_param_type('from_', from_, Vector3)
     self._check_param_type('dir', dir, Vector3)
     ret = Vector3()
     if not lib.godot_plane_intersects_ray(self._gd_ptr, ret._gd_ptr,
                                           from_._gd_ptr, dir._gd_ptr):
         return None
     return ret
Ejemplo n.º 4
0
 def intersects_segment(self, begin, end):
     self._check_param_type('begin', begin, Vector3)
     self._check_param_type('end', end, Vector3)
     ret = Vector3()
     if not lib.godot_plane_intersects_segment(self._gd_ptr, ret._gd_ptr,
                                               begin._gd_ptr, end._gd_ptr):
         return None
     return ret
Ejemplo n.º 5
0
 def intersect_3(self, b, c):
     self._check_param_type('b', b, Plane)
     self._check_param_type('c', c, Plane)
     ret = Vector3()
     if not lib.godot_plane_intersect_3(self._gd_ptr, ret._gd_ptr,
                                        b._gd_ptr, c._gd_ptr):
         return None
     return ret
Ejemplo n.º 6
0
 def xform(self, v):
     if isinstance(v, Vector3):
         raw = lib.godot_transform_xform_vector3(self._gd_ptr, v._gd_ptr)
         return Vector3.build_from_gdobj(raw)
     elif isinstance(v, AABB):
         raw = lib.godot_transform_xform_aabb(self._gd_ptr, v._gd_ptr)
         return AABB.build_from_gdobj(raw)
     elif isinstance(v, Plane):
         raw = lib.godot_transform_xform_plane(self._gd_ptr, v._gd_ptr)
         return Plane.build_from_gdobj(raw)
     raise TypeError(
         'Param `v` should be of type `Plane`, `AABB` or `Vector3`')
Ejemplo n.º 7
0
 def origin(self):
     raw = lib.godot_transform_get_origin(self._gd_ptr)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 8
0
 def __init__(self, position=Vector3(), size=Vector3()):
     self._check_param_type('position', position, Vector3)
     self._check_param_type('size', size, Vector3)
     self._gd_ptr = godot_aabb_alloc()
     lib.godot_aabb_new(self._gd_ptr, position._gd_ptr, size._gd_ptr)
Ejemplo n.º 9
0
 def z(self):
     return Vector3.build_from_gdobj(
         lib.godot_basis_get_axis(self._gd_ptr, self.AXIS_Z))
Ejemplo n.º 10
0
 def xform(self, v):
     self._check_param_type('v', v, Vector3)
     ret = Vector3()
     ret._gd_ptr[0] = lib.godot_quat_xform(self._gd_ptr, v._gd_ptr)
     return ret
Ejemplo n.º 11
0
 def get_shortest_axis(self):
     raw = lib.godot_aabb_get_shortest_axis(self._gd_ptr)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 12
0
 def project(self, point):
     self._check_param_type('point', point, Vector3)
     raw = lib.godot_plane_project(self._gd_ptr, point._gd_ptr)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 13
0
 def __init__(self, basis=Basis(), origin=Vector3()):
     self._check_param_type("basis", basis, Basis)
     self._check_param_type("origin", origin, Vector3)
     self._gd_ptr = godot_transform_alloc()
     lib.godot_transform_new(self._gd_ptr, basis._gd_ptr, origin._gd_ptr)
Ejemplo n.º 14
0
 def get_support(self, dir):
     raw = lib.godot_aabb_get_support(self._gd_ptr, dir._gd_ptr)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 15
0
 def center(self):
     raw = lib.godot_plane_center(self._gd_ptr)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 16
0
 def __init__(self, normal=Vector3(), d=0.0):
     self._check_param_type('normal', normal, Vector3)
     self._check_param_float('d', d)
     self._gd_ptr = godot_plane_alloc()
     lib.godot_plane_new_with_normal(self._gd_ptr, normal._gd_ptr, d)
Ejemplo n.º 17
0
 def get_endpoint(self, idx):
     raw = lib.godot_aabb_get_endpoint(self._gd_ptr, idx)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 18
0
 def xform_inv(self, vect):
     self._check_param_type('vect', vect, Vector3)
     gd_obj = lib.godot_basis_xform_inv(self._gd_ptr, vect._gd_ptr)
     return Vector3.build_from_gdobj(gd_obj)
Ejemplo n.º 19
0
 def get_scale(self):
     gd_obj = lib.godot_basis_get_scale(self._gd_ptr)
     return Vector3.build_from_gdobj(gd_obj)
Ejemplo n.º 20
0
 def normal(self):
     return Vector3.build_from_gdobj(
         lib.godot_plane_get_normal(self._gd_ptr))
Ejemplo n.º 21
0
 def position(self):
     return Vector3.build_from_gdobj(lib.godot_aabb_get_position(self._gd_ptr))
Ejemplo n.º 22
0
 def get_any_point(self):
     raw = lib.godot_plane_get_any_point(self._gd_ptr)
     return Vector3.build_from_gdobj(raw)
Ejemplo n.º 23
0
 def size(self):
     return Vector3.build_from_gdobj(lib.godot_aabb_get_size(self._gd_ptr))