def createShape( self, matrixChain ): "Create the shape." self.numberOfInBetweens = 12 self.numberOfDivisions = self.numberOfInBetweens + 1 bottomLeft = complex( - 1.0, - 1.0 ) topRight = complex( 1.0, 1.0 ) extent = topRight - bottomLeft elementExtent = extent / self.numberOfDivisions grid = [] for rowIndex in xrange( self.numberOfDivisions + 1 ): row = [] grid.append( row ) for columnIndex in xrange( self.numberOfDivisions + 1 ): point = complex( elementExtent.real * float( columnIndex ), elementExtent.real * float( rowIndex ) ) + bottomLeft row.append( point ) indexedGridBottom = triangle_mesh.getAddIndexedGrid( grid, self.vertices, - 1.0 ) indexedGridBottomLoop = triangle_mesh.getIndexedLoopFromIndexedGrid( indexedGridBottom ) indexedLoops = [ indexedGridBottomLoop ] zList = [] for zIndex in xrange( 1, self.numberOfDivisions ): z = elementExtent.real * float( zIndex ) + bottomLeft.real zList.append( z ) gridLoop = [] for vertex in indexedGridBottomLoop: gridLoop.append( vertex.dropAxis( 2 ) ) indexedLoops += triangle_mesh.getAddIndexedLoops( gridLoop, self.vertices, zList ) indexedGridTop = triangle_mesh.getAddIndexedGrid( grid, self.vertices, 1.0 ) indexedLoops.append( triangle_mesh.getIndexedLoopFromIndexedGrid( indexedGridTop ) ) triangle_mesh.addPillarFromConvexLoopsGrids( self.faces, [ indexedGridBottom, indexedGridTop ], indexedLoops ) for vertex in self.vertices: vertex.normalize() vertex.x *= self.radiusX vertex.y *= self.radiusY vertex.z *= self.radiusZ self.transformSetBottomTopEdges( matrixChain )
def createShape(self, matrixChain): "Create the shape." square = [ complex(-self.halfX, -self.halfY), complex(self.halfX, -self.halfY), complex(self.halfX, self.halfY), complex(-self.halfX, self.halfY) ] bottomTopSquare = triangle_mesh.getAddIndexedLoops( square, self.vertices, [-self.halfZ, self.halfZ]) triangle_mesh.addPillarFromConvexLoops(self.faces, bottomTopSquare) self.transformSetBottomTopEdges(matrixChain)
def createShape(self, matrixChain): "Create the shape." self.numberOfInBetweens = 12 self.numberOfDivisions = self.numberOfInBetweens + 1 bottomLeft = complex(-1.0, -1.0) topRight = complex(1.0, 1.0) extent = topRight - bottomLeft elementExtent = extent / self.numberOfDivisions grid = [] for rowIndex in xrange(self.numberOfDivisions + 1): row = [] grid.append(row) for columnIndex in xrange(self.numberOfDivisions + 1): point = complex( elementExtent.real * float(columnIndex), elementExtent.real * float(rowIndex)) + bottomLeft row.append(point) indexedGridBottom = triangle_mesh.getAddIndexedGrid( grid, self.vertices, -1.0) indexedGridBottomLoop = triangle_mesh.getIndexedLoopFromIndexedGrid( indexedGridBottom) indexedLoops = [indexedGridBottomLoop] zList = [] for zIndex in xrange(1, self.numberOfDivisions): z = elementExtent.real * float(zIndex) + bottomLeft.real zList.append(z) gridLoop = [] for vertex in indexedGridBottomLoop: gridLoop.append(vertex.dropAxis(2)) indexedLoops += triangle_mesh.getAddIndexedLoops( gridLoop, self.vertices, zList) indexedGridTop = triangle_mesh.getAddIndexedGrid( grid, self.vertices, 1.0) indexedLoops.append( triangle_mesh.getIndexedLoopFromIndexedGrid(indexedGridTop)) triangle_mesh.addPillarFromConvexLoopsGrids( self.faces, [indexedGridBottom, indexedGridTop], indexedLoops) for vertex in self.vertices: vertex.normalize() vertex.x *= self.radiusX vertex.y *= self.radiusY vertex.z *= self.radiusZ self.transformSetBottomTopEdges(matrixChain)
def createShape( self, matrixChain ): "Create the shape." square = [ complex( - self.halfX, - self.halfY ), complex( self.halfX, - self.halfY ), complex( self.halfX, self.halfY ), complex( - self.halfX, self.halfY ) ] bottomTopSquare = triangle_mesh.getAddIndexedLoops( square, self.vertices, [ - self.halfZ, self.halfZ ] ) triangle_mesh.addPillarFromConvexLoops( self.faces, bottomTopSquare ) self.transformSetBottomTopEdges( matrixChain )