forked from jf---/python-fcl
-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathfcl2.py
More file actions
50 lines (36 loc) · 1.46 KB
/
fcl2.py
File metadata and controls
50 lines (36 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from .fcl import *
class Transform(Transform):
def __init__(self, *args):
super().__init__()
self.args = args
def __reduce__(self):
return self.__class__, self.args
class CollisionObject(CollisionObject):
def __init__(self, geom=None, tf=None, _no_instance=False):
super().__init__()
self.geom = geom
self.tf = tf
self._no_instance = _no_instance
def __reduce__(self):
return self.__class__, (self.geom, self.tf, self._no_instance)
class BVHModel(BVHModel):
def __init__(self, num_tris=0, num_vertices=0, verts=None, triangles=None):
super().__init__()
self.num_tris = num_tris
self.num_vertices = num_vertices
self.verts = verts
self.triangles = triangles
if num_tris != 0 and num_vertices != 0 and not verts is None and not triangles is None:
self.beginModel(num_tris, num_vertices)
self.addSubModel(verts, triangles)
self.endModel()
def beginModel(self, num_tris_=0, num_vertices_=0):
super().beginModel(num_tris_, num_vertices_)
self.num_tris = num_tris_
self.num_vertices = num_vertices_
def addSubModel(self, verts, triangles):
super().addSubModel(verts, triangles)
self.verts = verts.copy()
self.triangles = triangles.copy()
def __reduce__(self):
return self.__class__, (self.num_tris, self.num_vertices, self.verts, self.triangles)