示例#1
0
 def CreateCircle( self, colour, radius ):
     
     # Create a circle
     arc = Arc( radius, numSegs=64, axis=Vec3(0, 1, 0) )
     arc.setColorScale( colour )
     arc.setLightOff()
     arc.reparentTo( self )
     
     # Set the billboard effect
     arc.setBillboardPointEye()
     
     return arc
示例#2
0
 def CreateCircle( self, colour, radius ):
     
     # Create a circle
     arc = Arc( radius, numSegs=64, axis=Vec3(0, 1, 0) )
     arc.setColorScale( colour )
     arc.setLightOff()
     arc.reparentTo( self )
     
     # Set the billboard effect
     arc.setBillboardPointEye()
     
     return arc
示例#3
0
 def CreateRing( self, vector, colour, lookAt ):
     
     # Create the billboard effect
     bbe = BillboardEffect.make( vector, False, True, 0, lookAt, (0, 0, 0) )
     
     # Create an arc
     arc = Arc( numSegs=32, degrees=180, axis=Vec3(0, 0, 1) )
     arc.setH( 180 )
     arc.setEffect( bbe )
     
     # Create the axis from the arc
     axis = Axis( self.name, vector, colour )
     axis.AddGeometry( arc, sizeStyle=SCALE )
     axis.AddCollisionSolid( self.collSphere, sizeStyle=SCALE )
     axis.reparentTo( self )
     
     return axis
示例#4
0
 def CreateRing( self, vector, colour, rot ):
     
     # Create an arc
     arc = Arc( numSegs=32, degrees=180, axis=Vec3(0, 0, 1) )
     arc.setH( 180 )
     
     # Create the axis from the arc
     axis = Axis( self.name, vector, colour )
     axis.AddGeometry( arc, sizeStyle=SCALE )
     axis.AddCollisionSolid( self.collSphere, sizeStyle=SCALE )
     axis.reparentTo( self )
     
     # Create the billboard effect and apply it to the arc. We need an
     # extra NodePath to help the billboard effect so it orients properly.
     hlpr = NodePath( 'helper' )
     hlpr.setHpr( rot )
     hlpr.reparentTo( self )
     arc.reparentTo( hlpr )
     bbe = BillboardEffect.make( Vec3(0, 0, 1), False, True, 0, 
                                 self.camera, (0, 0, 0) )
     arc.setEffect( bbe )
     
     return axis