Ejemplo n.º 1
0
	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 )
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
	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 )