Example #1
0
File: Real.py Project: pemby/breve
	def setRotationEulerAngles( self, angles ):
		'''Sets the rotation of this object to the Euler angles specified by angles (in radians).'''

		m = breve.matrix()
		r22 = 0
		r21 = 0
		r20 = 0
		r12 = 0
		r11 = 0
		r10 = 0
		r02 = 0
		r01 = 0
		r00 = 0

		r00 = ( ( breve.breveInternalFunctionFinder.cos( self, angles.z ) * breve.breveInternalFunctionFinder.cos( self, angles.x ) ) - ( ( breve.breveInternalFunctionFinder.cos( self, angles.y ) * breve.breveInternalFunctionFinder.sin( self, angles.x ) ) * breve.breveInternalFunctionFinder.sin( self, angles.z ) ) )
		r01 = ( ( breve.breveInternalFunctionFinder.cos( self, angles.z ) * breve.breveInternalFunctionFinder.sin( self, angles.x ) ) + ( ( breve.breveInternalFunctionFinder.cos( self, angles.y ) * breve.breveInternalFunctionFinder.cos( self, angles.x ) ) * breve.breveInternalFunctionFinder.sin( self, angles.z ) ) )
		r02 = ( breve.breveInternalFunctionFinder.sin( self, angles.z ) * breve.breveInternalFunctionFinder.cos( self, angles.y ) )
		r10 = ( ( ( -breve.breveInternalFunctionFinder.sin( self, angles.z ) ) * breve.breveInternalFunctionFinder.cos( self, angles.x ) ) - ( ( breve.breveInternalFunctionFinder.cos( self, angles.y ) * breve.breveInternalFunctionFinder.sin( self, angles.x ) ) * breve.breveInternalFunctionFinder.cos( self, angles.z ) ) )
		r11 = ( ( ( -breve.breveInternalFunctionFinder.sin( self, angles.z ) ) * breve.breveInternalFunctionFinder.sin( self, angles.x ) ) + ( ( breve.breveInternalFunctionFinder.cos( self, angles.y ) * breve.breveInternalFunctionFinder.cos( self, angles.x ) ) * breve.breveInternalFunctionFinder.cos( self, angles.z ) ) )
		r12 = ( breve.breveInternalFunctionFinder.cos( self, angles.z ) * breve.breveInternalFunctionFinder.sin( self, angles.y ) )
		r20 = ( breve.breveInternalFunctionFinder.sin( self, angles.y ) * breve.breveInternalFunctionFinder.sin( self, angles.x ) )
		r21 = ( ( -breve.breveInternalFunctionFinder.sin( self, angles.y ) ) * breve.breveInternalFunctionFinder.cos( self, angles.x ) )
		r22 = breve.breveInternalFunctionFinder.cos( self, angles.y )
		m = breve.matrix(  r00, r01, r02, r10, r11, r12, r20, r21, r22 )
		self.setRotationMatrix( m )
Example #2
0
	def turnUp( self, angle ):
		'''Rotates the Turtle right by angle degrees.'''

		rotation = breve.matrix()

		angle = ( angle * ( ( 2 * 3.141592 ) / 360 ) )
		rotation = breve.matrix(  1, 0, 0, 0, breve.breveInternalFunctionFinder.cos( self, angle ), breve.breveInternalFunctionFinder.sin( self, angle ), 0, ( -breve.breveInternalFunctionFinder.sin( self, angle ) ), breve.breveInternalFunctionFinder.cos( self, angle ) )
		self.currentDirection = ( rotation * self.currentDirection )
Example #3
0
    def turnUp(self, angle):
        '''Rotates the Turtle right by angle degrees.'''

        rotation = breve.matrix()

        angle = (angle * ((2 * 3.141592) / 360))
        rotation = breve.matrix(
            1, 0, 0, 0, breve.breveInternalFunctionFinder.cos(self, angle),
            breve.breveInternalFunctionFinder.sin(self, angle), 0,
            (-breve.breveInternalFunctionFinder.sin(self, angle)),
            breve.breveInternalFunctionFinder.cos(self, angle))
        self.currentDirection = (rotation * self.currentDirection)
 def __init__(self):
     breve.Real.__init__(self)
     self.communicationThreshold = 0
     self.draw = None
     self.m_location = breve.vector()
     self.m_rotation = breve.matrix()
     self.owner = None
     self.realWorldPointer_owner = None
     self.rel_position = breve.vector()
     self.rel_rotation = breve.matrix()
     self.sensorType = ''
     self.sensordata = 0
Example #5
0
 def __init__(self):
     breve.Real.__init__(self)
     self.communicationThreshold = 0
     self.draw = None
     self.m_location = breve.vector()
     self.m_rotation = breve.matrix()
     self.owner = None
     self.realWorldPointer_owner = None
     self.rel_position = breve.vector()
     self.rel_rotation = breve.matrix()
     self.sensorType = ""
     self.sensordata = 0
 def setRelYRotation(self, f):
     self.setRelRotation(
         breve.matrix(breve.breveInternalFunctionFinder.cos(self, f), 0,
                      (-breve.breveInternalFunctionFinder.sin(self, f)), 0,
                      1, 0, breve.breveInternalFunctionFinder.sin(self,
                                                                  f), 0,
                      breve.breveInternalFunctionFinder.cos(self, f)))
Example #7
0
 def init(self):
     self.realWorldPointer = breve.breveInternalFunctionFinder.addStationary(
         self,
         self.controller.getGenericShape().getPointer(),
         breve.vector(0, 0, 0), breve.matrix(1, 0, 0, 0, 1, 0, 0, 0, 1))
     self.setTextureImage(self.controller.getStationaryTexture())
     self.setShape(self.controller.getGenericShape())
     return self
Example #8
0
 def init(self):
     self.realWorldPointer = breve.breveInternalFunctionFinder.addStationary(
         self,
         self.controller.getGenericShape().getPointer(),
         breve.vector(0, 0, 0),
         breve.matrix(1, 0, 0, 0, 1, 0, 0, 0, 1),
     )
     self.setTextureImage(self.controller.getStationaryTexture())
     self.setShape(self.controller.getGenericShape())
     return self
Example #9
0
    def dearchive(self):
        if (not self.realWorldPointer):
            self.realWorldPointer = breve.breveInternalFunctionFinder.addStationary(
                self,
                self.controller.getGenericShape().getPointer(),
                breve.vector(0, 0, 0), breve.matrix(1, 0, 0, 0, 1, 0, 0, 0, 1))

        if self.shadowCatcher:
            self.catchShadows()

        return breve.Real.dearchive(self)
Example #10
0
    def register(self,
                 theShape,
                 theLocation=breve.vector(0.000000, 0.000000, 0.000000),
                 theRotation=breve.matrix(1.000000, 0.000000, 0.000000,
                                          0.000000, 1.000000, 0.000000,
                                          0.000000, 0.000000, 1.000000)):
        '''Registers a stationary object using shape theShape at the location specified by theLocation.'''

        self.setShape(theShape)
        self.move(theLocation)
        self.setRotationMatrix(theRotation)
        return self
Example #11
0
    def dearchive(self):
        if not self.realWorldPointer:
            self.realWorldPointer = breve.breveInternalFunctionFinder.addStationary(
                self,
                self.controller.getGenericShape().getPointer(),
                breve.vector(0, 0, 0),
                breve.matrix(1, 0, 0, 0, 1, 0, 0, 0, 1),
            )

        if self.shadowCatcher:
            self.catchShadows()

        return breve.Real.dearchive(self)
Example #12
0
 def setRelYRotation(self, f):
     self.setRelRotation(
         breve.matrix(
             breve.breveInternalFunctionFinder.cos(self, f),
             0,
             (-breve.breveInternalFunctionFinder.sin(self, f)),
             0,
             1,
             0,
             breve.breveInternalFunctionFinder.sin(self, f),
             0,
             breve.breveInternalFunctionFinder.cos(self, f),
         )
     )
Example #13
0
    def register(
        self,
        theShape,
        theLocation=breve.vector(0.000000, 0.000000, 0.000000),
        theRotation=breve.matrix(
            1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        ),
    ):
        """Registers a stationary object using shape theShape at the location specified by theLocation."""

        self.setShape(theShape)
        self.move(theLocation)
        self.setRotationMatrix(theRotation)
        return self
	def reset( self ):
		breve.allInstances( "Mobiles" ).setVelocity( breve.vector( 0, 0, 0 ) )
		self.vehicle.rotate( breve.vector( 1, 0, 0 ), 0 )
		self.blocks[ 0 ].move( breve.vector( 65, 0.600000, -1.650000 ) )
		self.blocks[ 1 ].move( breve.vector( 65, 0.600000, -0.550000 ) )
		self.blocks[ 2 ].move( breve.vector( 65, 0.600000, 0.550000 ) )
		self.blocks[ 3 ].move( breve.vector( 65, 0.600000, 1.650000 ) )
		self.blocks[ 4 ].move( breve.vector( 65, 1.610000, -1.100000 ) )
		self.blocks[ 5 ].move( breve.vector( 65, 1.610000, 0 ) )
		self.blocks[ 6 ].move( breve.vector( 65, 1.610000, 1.100000 ) )
		self.blocks[ 7 ].move( breve.vector( 65, 2.620000, -0.550000 ) )
		self.blocks[ 8 ].move( breve.vector( 65, 2.620000, 0.550000 ) )
		self.blocks[ 9 ].move( breve.vector( 65, 3.630000, 0 ) )
		self.blocks.setRotationMatrix( breve.matrix(  1, 0, 0, 0, 1, 0, 0, 0, 1 ) )
		self.vehicle.move( breve.vector( 0, 0.800000, 0 ) )
Example #15
0
 def __init__(self):
     breve.Abstract.__init__(self)
     self.child = None
     self.clinkPoint = breve.vector()
     self.jointPointer = None
     self.maxVector = breve.vector()
     self.minVector = breve.vector()
     self.normalVector = breve.vector()
     self.parent = None
     self.plinkPoint = breve.vector()
     self.relativeRotation = breve.matrix()
     self.springMax = 0
     self.springMin = 0
     self.springStrength = 0
     self.strengthLimit = 0
     Joint.init(self)
Example #16
0
	def __init__( self ):
		breve.Abstract.__init__( self )
		self.child = None
		self.clinkPoint = breve.vector()
		self.jointPointer = None
		self.maxVector = breve.vector()
		self.minVector = breve.vector()
		self.normalVector = breve.vector()
		self.parent = None
		self.plinkPoint = breve.vector()
		self.relativeRotation = breve.matrix()
		self.springMax = 0
		self.springMin = 0
		self.springStrength = 0
		self.strengthLimit = 0
		Joint.init( self )
Example #17
0
File: Real.py Project: B-Rich/breve
	def __init__( self ):
		breve.Object.__init__( self )
		self.archiveBitmapImage = None
		self.archiveLightmapImage = None
		self.archiveLocation = breve.vector()
		self.archiveRotation = breve.matrix()
		self.archiveTextureImage = None
		self.archiveTextureScaleX = 0
		self.archiveTextureScaleY = 0
		self.collisionHandlerList = breve.objectList()
		self.collisionShape = None
		self.color = breve.vector()
		self.displayShape = None
		self.e = 0
		self.lines = breve.objectList()
		self.menus = breve.objectList()
		self.mu = 0
		self.neighborhoodSize = 0
		self.realWorldPointer = None
		Real.init( self )
Example #18
0
 def __init__(self):
     breve.Object.__init__(self)
     self.archiveBitmapImage = None
     self.archiveLightmapImage = None
     self.archiveLocation = breve.vector()
     self.archiveRotation = breve.matrix()
     self.archiveTextureImage = None
     self.archiveTextureScaleX = 0
     self.archiveTextureScaleY = 0
     self.collisionHandlerList = breve.objectList()
     self.collisionShape = None
     self.color = breve.vector()
     self.displayShape = None
     self.e = 0
     self.lines = breve.objectList()
     self.menus = breve.objectList()
     self.mu = 0
     self.neighborhoodSize = 0
     self.realWorldPointer = None
     Real.init(self)
	def init( self ):
		rampShape = None
		ramp = None

		rampShape = breve.createInstances( breve.Cube, 1 ).initWith( breve.vector( 10, 0.100000, 15 ) )
		self.enableFastPhysics()
		self.setFastPhysicsIterations( 15 )
		ramp = breve.createInstances( breve.Stationary, 1 )
		ramp.register( rampShape, breve.vector( 50, 1.400000, 0 ), breve.matrix(  0.965960, -0.258690, 0.000000, 0.258690, 0.965960, 0.000000, 0.000000, 0.000000, 1.000000 ) )
		self.vehicle = breve.createInstances( breve.BraitenbergHeavyVehicle, 1 )
		self.wheels.append( self.vehicle.addWheel( breve.vector( 1.500000, 0, -1.500000 ) ) )
		self.wheels.append( self.vehicle.addWheel( breve.vector( 1.500000, 0, 1.500000 ) ) )
		self.wheels.append( self.vehicle.addWheel( breve.vector( -1.500000, 0, -1.500000 ) ) )
		self.wheels.append( self.vehicle.addWheel( breve.vector( -1.500000, 0, 1.500000 ) ) )
		self.wheels.setNaturalVelocity( 20.000000 )
		breve.allInstances( "Stationaries" ).setMu( 40.000000 )
		breve.allInstances( "BraitenbergWheels" ).setMu( 40.000000 )
		self.watch( self.vehicle )
		self.setCameraOffset( breve.vector( -11.000000, 4.500000, 5.500000 ) )
		self.panCameraOffset( breve.vector( 20, 10, 9 ), 80 )
		self.blocks = breve.createInstances( breve.Bricks, 10 )
		self.reset()
	def initWith( self, xpos, zpos ):
		z = 0
		x = 0
		row = breve.objectList()
		height = 0

		self.outsideFrame = breve.createInstances( breve.Frame, 1 ).initWith( ( xpos + 0.100000 ), ( zpos + 0.100000 ) )
		x = 0
		while ( x < 11 ):
			row = breve.createInstances( breve.Bricks, 11 )
			z = 0
			while ( z < 11 ):
				height = row[ z ].getHeight()
				row[ z ].move( breve.vector( ( ( xpos + x ) + 0.100000 ), ( ( 0.500000 * height ) + 0.100000 ), ( ( zpos + z ) + 0.100000 ) ) )
				row[ z ].setColor( breve.vector( 0.300000, 0.300000, 0.200000 ) )

				z = ( z + 1 )

			self.blocks.append( row )
			row.setRotation( breve.matrix(  1, 0, 0, 0, 1, 0, 0, 0, 1 ) )

			x = ( x + 1 )

		return self
Example #21
0
 def init(self):
     self.normalVector
     self.relativeRotation = breve.matrix(1, 0, 0, 0, 1, 0, 0, 0, 1)
Example #22
0
	def init( self ):
		self.normalVector
		self.relativeRotation = breve.matrix(  1, 0, 0, 0, 1, 0, 0, 0, 1 )