glDisableClientState(GL_TEXTURE_COORD_ARRAY)\r
glDisableClientState(GL_VERTEX_ARRAY)\r
\r
+ def get_boundingbox(self):\r
+ vertices_size=len(self.vertices)\r
+ if(vertices_size==0):\r
+ return ([0, 0, 0], [0, 0, 0])\r
+ def vertex_gen_factory():\r
+ for i in range(0, vertices_size, 3):\r
+ yield [\r
+ self.vertices[i],\r
+ self.vertices[i+1],\r
+ self.vertices[i+2]\r
+ ]\r
+ vertex_gen=vertex_gen_factory()\r
+ v=next(vertex_gen)\r
+ max_v=v[:]\r
+ min_v=v[:]\r
+ for v in vertex_gen:\r
+ min_v[0]=min(min_v[0], v[0]) \r
+ min_v[1]=min(min_v[1], v[1]) \r
+ min_v[2]=min(min_v[2], v[2]) \r
+ max_v[0]=max(max_v[0], v[0]) \r
+ max_v[1]=max(max_v[1], v[1]) \r
+ max_v[2]=max(max_v[2], v[2]) \r
+ return (min_v, max_v)\r
\r
'''\r
インデックス参照頂点配列\r
glDisableClientState(GL_VERTEX_ARRAY)\r
\r
def optimize(self):\r
- self.vertices=numpy.array(self.vertices, 'f') \r
- self.uvlist=numpy.array(self.uvlist, 'f') \r
+ self.vertices=numpy.array(self.vertices, numpy.float32) \r
+ self.uvlist=numpy.array(self.uvlist, numpy.float32) \r
+ for m, indices in self.indicesMap.items():\r
+ self.indicesMap[m]=numpy.array(indices, numpy.uint32)\r
\r
def get_boundingbox(self):\r
vertices_size=len(self.vertices)\r
if(vertices_size==0):\r
return ([0, 0, 0], [0, 0, 0])\r
- print('vertices_size %d' % vertices_size)\r
- print(self.vertices[0])\r
def vertex_gen_factory():\r
for i in range(0, vertices_size, 4):\r
yield [\r