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 )
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 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
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)))
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
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
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)
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 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)
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), ) )
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 ) )
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)
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 )
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): 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
def init(self): self.normalVector self.relativeRotation = breve.matrix(1, 0, 0, 0, 1, 0, 0, 0, 1)
def init( self ): self.normalVector self.relativeRotation = breve.matrix( 1, 0, 0, 0, 1, 0, 0, 0, 1 )