]> git.llucax.com Git - z.facultad/75.68/celdas.git/blobdiff - trunk/src/breve/Celdas.tz
Mejora debug para IndiceMagico (agregando especialización de template para punteros).
[z.facultad/75.68/celdas.git] / trunk / src / breve / Celdas.tz
index a8a65f449d07a98511ee32aa18fbb5dd672a541f..b9a63fbe937ba29e8888fb473dee46ec40163d1f 100644 (file)
@@ -4,8 +4,6 @@
 @use Link.
 @use MultiBody.
 
 @use Link.
 @use MultiBody.
 
-@define CELDAS_MAX_VELOCITY 30.
-
 PhysicalControl : CeldasControl {
        % This class is used for building simple vehicle 
        % simulations.  To create a vehicle simulation, 
 PhysicalControl : CeldasControl {
        % This class is used for building simple vehicle 
        % simulations.  To create a vehicle simulation, 
@@ -188,10 +186,6 @@ Link : CeldasWheel (aka CeldasWheels) {
 
        + variables:
                joint (object).
 
        + variables:
                joint (object).
-               velocity (float).
-
-       + to init:
-               velocity = 0.
 
        - to set-joint to j (object):
                % Used internally.
 
        - to set-joint to j (object):
                % Used internally.
@@ -203,15 +197,12 @@ Link : CeldasWheel (aka CeldasWheels) {
        + to set-velocity to n (float):
                % Sets the velocity of this wheel.
 
        + to set-velocity to n (float):
                % Sets the velocity of this wheel.
 
-               if n > CELDAS_MAX_VELOCITY: n = CELDAS_MAX_VELOCITY.
-               velocity = n.
-
-               joint set-joint-velocity to velocity.
+               joint set-joint-velocity to n.
 
        + to get-velocity:
                % Gets the velocity of this wheel.
                
 
        + to get-velocity:
                % Gets the velocity of this wheel.
                
-               return velocity.
+               return (joint get-joint-velocity).
 
 }
 
 
 }
 
@@ -248,6 +239,8 @@ Link : CeldasSensor (aka CeldasSensors) {
                % if not, the sensor reading correspond to the previous
                % iteration.
 
                % if not, the sensor reading correspond to the previous
                % iteration.
 
+               return value.
+
        + to iterate:
                i (object).
                strength, angle (float).
        + to iterate:
                i (object).
                strength, angle (float).
@@ -263,9 +256,7 @@ Link : CeldasSensor (aka CeldasSensors) {
 
                        if angle < sensorAngle: {
                                strength = | (self get-location) - (i get-location) |.
 
                        if angle < sensorAngle: {
                                strength = | (self get-location) - (i get-location) |.
-                               strength = 1.0 / (strength * strength) .
-
-                               if strength > 10: strength = 10.
+                               strength = 100.0 / (strength * strength) .
 
                                if strength > value: value = strength.
                        }
 
                                if strength > value: value = strength.
                        }