Skip to content

Commit

Permalink
Changelog:
Browse files Browse the repository at this point in the history
- A bug in Steering behavior has been fixed. Was adding the position, when I should have subtracted them.
- Defender AI in Capture the Flag plugin has been fixed. 
- A strange bug remains in the Avoid behavior, which resets the Speed of a Vehicle back to default.
- I've commented many of the classes now. Will work on a new version of the documentation later.
  • Loading branch information
mmhaqs committed Dec 8, 2010
1 parent 66bb0af commit c0be6aa
Show file tree
Hide file tree
Showing 50 changed files with 1,536 additions and 1,544 deletions.
Binary file modified branches/papersteer/bin/PaperSteer.swf
Binary file not shown.
19 changes: 10 additions & 9 deletions branches/papersteer/src/tabinda/demo/DeferredCircle.as
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

package tabinda.demo
{
import org.papervision3d.core.geom.Lines3D;
import org.papervision3d.core.geom.renderables.*;
import org.papervision3d.core.math.Number3D;
import org.papervision3d.materials.special.LineMaterial;
Expand All @@ -56,12 +57,12 @@ package tabinda.demo
}
}

public static function AddToBuffer(object:*,radius:Number, axis:Vector3, center:Vector3, color:uint, segments:int,filled:Boolean, in3d:Boolean):void
public static function AddToBuffer(drawer:Lines3D,radius:Number, axis:Vector3, center:Vector3, color:uint, segments:int,filled:Boolean, in3d:Boolean):void
{

if (index < size)
{
deferredCircleArray[index].object = object;
deferredCircleArray[index].drawer = drawer;
deferredCircleArray[index].radius = radius;
deferredCircleArray[index].axis = axis;
deferredCircleArray[index].center = center;
Expand All @@ -83,14 +84,14 @@ package tabinda.demo
for (var i:int = 0; i < index; i++)
{
var dc:DeferredCircle = deferredCircleArray[i];
DrawCircleOrDisk(dc.object,dc.radius, dc.axis, dc.center, dc.color, dc.segments, dc.filled, dc.in3d);
DrawCircle(dc.drawer,dc.radius, dc.axis, dc.center, dc.color, dc.segments, dc.filled, dc.in3d);
}

// reset buffer index
index = 0;
}

public static function DrawCircleOrDisk(object:*,radius:Number, axis:Vector3, center:Vector3, color:uint, segments:int, filled:Boolean, in3d:Boolean):void
public static function DrawCircle(drawer:Lines3D,radius:Number, axis:Vector3, center:Vector3, color:uint, segments:int, filled:Boolean, in3d:Boolean):void
{
var temp : Number3D = new Number3D(radius,0,0);
var tempcurve:Number3D = new Number3D(0,0,0);
Expand All @@ -117,8 +118,8 @@ package tabinda.demo

temp.rotateY(0);

var vertices:Array = new Array();
var curvepoints:Array = new Array();
var vertices:Vector.<Vertex3D> = new Vector.<Vertex3D>();
var curvepoints:Vector.<Vertex3D> = new Vector.<Vertex3D>();

for(i = 0; i< pointcount;i++)
{
Expand All @@ -130,13 +131,13 @@ package tabinda.demo

for(i = 0; i < segments ;i++)
{
var line:Line3D = new Line3D(object, new LineMaterial(color), 2, vertices[i], vertices[(i+1)%vertices.length]);
var line:Line3D = new Line3D(drawer, new LineMaterial(color), 2, vertices[i], vertices[(i+1)%vertices.length]);
line.addControlVertex(curvepoints[i].x, curvepoints[i].y, curvepoints[i].z );
object.addLine(line);
drawer.addLine(line);
}
}

private var object:*;
private var drawer:Lines3D;
private var radius:Number;
private var axis:Vector3;
private var center:Vector3;
Expand Down
17 changes: 9 additions & 8 deletions branches/papersteer/src/tabinda/demo/DeferredLine.as
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@

package tabinda.demo
{
import org.papervision3d.core.geom.renderables.Line3D;
import org.papervision3d.core.geom.renderables.Vertex3D;
import org.papervision3d.core.geom.Lines3D;
import org.papervision3d.core.geom.renderables.*;
import org.papervision3d.materials.special.LineMaterial;

import tabinda.papersteer.*;

/**
Expand All @@ -55,11 +56,11 @@ package tabinda.demo
}
}

public static function AddToBuffer(object:*,s:Vector3, e:Vector3, c:uint):void
public static function AddToBuffer(drawer:Lines3D,s:Vector3, e:Vector3, c:uint):void
{
if (index < size)
{
deferredLineArray[index].object = object;
deferredLineArray[index].drawer = drawer;
deferredLineArray[index].startPoint = s;
deferredLineArray[index].endPoint = e;
deferredLineArray[index].color = c;
Expand All @@ -77,22 +78,22 @@ package tabinda.demo
for (var i:int = 0; i < index; i++)
{
var dl:DeferredLine = deferredLineArray[i];
DrawLine(dl.object,dl.startPoint, dl.endPoint, dl.color);
DrawLine(dl.drawer,dl.startPoint, dl.endPoint, dl.color);
}

// reset buffer index
index = 0;
}

public static function DrawLine(object:*,startPoint:Vector3,endPoint:Vector3,color:uint):void
public static function DrawLine(drawer:Lines3D,startPoint:Vector3,endPoint:Vector3,color:uint):void
{
object.addLine(new Line3D(object, new LineMaterial(color,1),1,new Vertex3D(startPoint.x,startPoint.y,startPoint.z),new Vertex3D(endPoint.x,endPoint.y,endPoint.z)));
drawer.addLine(new Line3D(drawer, new LineMaterial(color,1),1,startPoint.ToVertex3D(),endPoint.ToVertex3D()));
}

private var startPoint:Vector3;
private var endPoint:Vector3;
private var color:uint;
private var object:*;
private var drawer:Lines3D;

private static var index:int = 0;
private static const size:int = 3000;
Expand Down
Loading

0 comments on commit c0be6aa

Please sign in to comment.