[Bprocessor-commit] bprocessor/src/net/sourceforge/bprocessor/packages/physics PhysicsSection.java
Status: Pre-Alpha
Brought to you by:
henryml
From: Sebastian G. <sg...@us...> - 2012-05-06 15:15:02
|
Update of /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics In directory vz-cvs-4.sog:/tmp/cvs-serv8124/src/net/sourceforge/bprocessor/packages/physics Modified Files: PhysicsSurface.java PhysicsNet.java PhysicsCollisionSurface.java PhysicsPlane.java PhysicsParticle.java PhysicsPackage.java Added Files: PhysicsSection.java Log Message: coloured surfaces hanging chain Index: PhysicsParticle.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics/PhysicsParticle.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PhysicsParticle.java 4 Apr 2012 09:16:21 -0000 1.3 --- PhysicsParticle.java 6 May 2012 15:15:00 -0000 1.4 *************** *** 92,96 **** for (PhysicsCollisionSurface pcs : collisionSurfaces) { //if (pcs.insideBoundingBox(nPos,step)) { ! if (pcs.collision(lastPos, nPos, guides)) { //Quickfix //vel = vel.scale(-1); --- 92,97 ---- for (PhysicsCollisionSurface pcs : collisionSurfaces) { //if (pcs.insideBoundingBox(nPos,step)) { ! Vertex intersection = new Vertex(); ! if (pcs.collision(lastPos, nPos, guides, intersection)) { //Quickfix //vel = vel.scale(-1); --- NEW FILE: PhysicsSection.java --- package net.sourceforge.bprocessor.packages.physics; import java.util.ArrayList; import java.util.Collection; import java.util.List; import net.sourceforge.bprocessor.model.Edge; import net.sourceforge.bprocessor.model.ParameterBlock; import net.sourceforge.bprocessor.model.Selection; import net.sourceforge.bprocessor.model.Space; import net.sourceforge.bprocessor.model.Vertex; import net.sourceforge.bprocessor.model.Surface; public class PhysicsSection { //properties Space sectionsSpace; Collection<Surface> surfaces = new ArrayList<Surface>(); PhysicsPlane sectionPlane; Vertex intersection = new Vertex(); //constructors PhysicsSection (Space sSpace, Space net, Vertex origin, Vertex normal) { sectionsSpace = sSpace; surfaces = net.getSurfaces(); sectionPlane = new PhysicsPlane(normal,origin); } public void computeSection () { List<Edge> intersectionEdges = new ArrayList<Edge>(); for (Surface s : surfaces) { //sort edges Collection<Edge> sEdges = s.getEdges(); /* System.out.println("0"); Collection<Edge> tEdges = s.getEdges(); if (tEdges.size()>0) { System.out.println("1"); Edge current = (Edge)tEdges.toArray()[0]; System.out.println("2"); Collection<Edge> sEdges = new ArrayList<Edge>(); System.out.println("3"); sEdges.add(current); tEdges.remove(current); boolean res = true; while (res == true) { res = false; for (Edge e : tEdges) { System.out.println("4"); if (e.getFrom().equals(current.getTo())) { System.out.println("next edge"); current = e; sEdges.add(current.copy()); tEdges.remove(current); res = true; if (tEdges.size() == 0) { res = false; } //end for loop break; } if (e.getTo().equals(current.getTo())) { System.out.println("next edge inverse"); Edge eRev = new Edge(e.getTo(),e.getFrom()); current = eRev; sEdges.add(current.copy()); tEdges.remove(e); res = true; if (tEdges.size() == 0) { res = false; } //end for loop break; } } } */ List<Vertex> intersections = new ArrayList<Vertex>(); for (Edge e : sEdges) { System.out.println("intersecting..."); String result; System.out.println(e.getFrom().toString()); System.out.println(e.getTo().toString()); result = intersectLinePlaneBetweenPoints(e.getFrom(),e.getTo()); if (result == "intersect") { intersections.add(intersection); } if (result == "both") { intersections.add(e.getFrom()); intersections.add(e.getTo()); } } //irregular polygons can have more than 2 intersections! CHECK! if (intersections.size()==2) { System.out.println(intersections.get(0).toString()); System.out.println(intersections.get(1).toString()); Edge intersectionEdge = new Edge(intersections.get(0).copy(), intersections.get(1).copy()); intersectionEdges.add(intersectionEdge); sectionsSpace.add(intersectionEdge); sectionsSpace.update(); } } //} } public String intersectLinePlaneBetweenPoints(Vertex A, Vertex B) { //checks it the line from A to B intersect the surface plane between A and B //http://paulbourke.net/geometry/planeline/ String result = "none"; Vertex p = sectionPlane.origin.copy(); Vertex n = sectionPlane.origin.copy(); Vertex subN = p.minus(A); Vertex subD = B.minus(A); double numerator = n.dot(subN); double denomintator = n.dot(subD); double u; if (denomintator==0) { //either no or endless solutions, check! //check if B is part of plane Vertex subP = B.minus(p); double planeCheck = n.dot(subP); if (planeCheck == 0) { //endless intersections - return B as intersection //B is part of plane intersection = B.copy(); result = "both"; } else { //line parallel to plane - no intersection result = "none"; } } else { u = numerator / denomintator; //compute intersection point subD = subD.scale(u); intersection = A.add(subD); if ((u>=0) && (u<=1)) { //when u between 0 and 1 then intersection point is between A and B result = "intersect"; } else { result = "outside"; } } return result; } } Index: PhysicsCollisionSurface.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics/PhysicsCollisionSurface.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PhysicsCollisionSurface.java 28 Mar 2012 07:48:35 -0000 1.1 --- PhysicsCollisionSurface.java 6 May 2012 15:14:59 -0000 1.2 *************** *** 23,26 **** --- 23,29 ---- public class PhysicsCollisionSurface { + + boolean displayCollisionGuides = false; + Surface surface; //Bounding Box *************** *** 104,110 **** intersection = B.copy(); result = true; - System.out.println(" "); - System.out.println("planecheck = 0"); - System.out.println(" "); } else { //line parallel to plane - no intersection --- 107,110 ---- *************** *** 122,127 **** } if (u>0) { ! Edge eA = new Edge(A,intersection); ! guides.add(eA); } } --- 122,129 ---- } if (u>0) { ! if (displayCollisionGuides) { ! Edge eA = new Edge(A,intersection); ! guides.add(eA); ! } } } *************** *** 159,166 **** intersect = false; double a = 1; ! if (cV1.equalEps(new Vertex (0,0,0))) { ! // no intersection ! System.out.println("cV1 = 0/0/0"); ! } else { Vertex cV1n = cV1.copy(); Vertex cV2n = cV2.copy(); --- 161,165 ---- intersect = false; double a = 1; ! if (!cV1.equalEps(new Vertex (0,0,0))) { Vertex cV1n = cV1.copy(); Vertex cV2n = cV2.copy(); *************** *** 191,212 **** double b = vB.getX()/d2.getX(); ! System.out.print("a="); ! System.out.print(a); ! System.out.print(" b="); ! System.out.print(b); ! System.out.print(" at point "); ! System.out.println(intersection.toString()); ! ! Edge eA = new Edge(p2,intersection); ! guides.add(eA); ! ! ! //Vertex pd1 = p1.add(d1); ! //double distA1 = p1.distance(intersection); ! //double distB1 = pd1.distance(intersection); ! //Vertex pd2 = p2.add(d2); ! //double distA2 = p2.distance(intersection); ! //double distB2 = pd2.distance(intersection); ! if ((a > 0) && (a < 1) && (b>0)) { --- 190,197 ---- double b = vB.getX()/d2.getX(); ! if (displayCollisionGuides) { ! Edge eA = new Edge(p2,intersection); ! guides.add(eA); ! } if ((a > 0) && (a < 1) && (b>0)) { *************** *** 220,224 **** } else { intersect = false; - System.out.println(" Intersection outside edge"); } } --- 205,208 ---- *************** *** 226,231 **** //end for } - System.out.print("number of intersections "); - System.out.println(intersections); //if number of intersections is odd then point inside polygon if ((intersections % 2 == 1) && (intersections > 0)) { --- 210,213 ---- *************** *** 235,250 **** } ! public boolean collision(Vertex lastPos, Vertex newPos, Space guides) { boolean result = false; - Vertex intersection = new Vertex(0,0,0); double step = newPos.distance(lastPos); if (insideBoundingBox(newPos,step)) { if (intersectLinePlaneBetweenPoints(lastPos, newPos, intersectionPoint, guides)) { - System.out.println("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); - System.out.println("found intersection with plane"); - System.out.println(intersectionPoint.toString()); if (pointInsidePolygon(intersectionPoint, guides)) { - System.out.println("intersection inside polygon"); result = true; } } --- 217,228 ---- } ! public boolean collision(Vertex lastPos, Vertex newPos, Space guides, Vertex intersection) { boolean result = false; double step = newPos.distance(lastPos); if (insideBoundingBox(newPos,step)) { if (intersectLinePlaneBetweenPoints(lastPos, newPos, intersectionPoint, guides)) { if (pointInsidePolygon(intersectionPoint, guides)) { result = true; + intersection = intersectionPoint.copy(); } } Index: PhysicsSurface.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics/PhysicsSurface.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PhysicsSurface.java 4 Apr 2012 09:16:21 -0000 1.2 --- PhysicsSurface.java 6 May 2012 15:14:59 -0000 1.3 *************** *** 19,23 **** boolean displayPlanarization = false; boolean displayDiagonals = false; ! boolean displayCircularMesh = true; //properties --- 19,24 ---- boolean displayPlanarization = false; boolean displayDiagonals = false; ! boolean displayCircularMesh = false; ! boolean displayMovementGuides = true; //properties *************** *** 30,33 **** --- 31,36 ---- double lastDiaLength; double lastCircRad; + Vertex pos; + Vertex lastPos; //constructors *************** *** 64,67 **** --- 67,73 ---- cl = cl / vertices.size(); lastCircRad = cl; + //collision + pos = bSurf.center().copy(); + lastPos = bSurf.center().copy(); } *************** *** 258,260 **** --- 264,346 ---- } } + + void collision(List<PhysicsCollisionSurface> collisionSurfaces, boolean collisionOn, Space guides) { + //does not really work + /* + pos = bSurf.center().copy(); + if (collisionOn) { + //COLLISION DETECTION + double step = pos.distance(lastPos); + Vertex move = lastPos.minus(pos); + Vertex intersection = new Vertex(); + PhysicsCollisionSurface thisSurface = new PhysicsCollisionSurface(bSurf); + for (PhysicsCollisionSurface pcs : collisionSurfaces) { + Collection<Vertex> cVertices = pcs.surface.getVertices(); + for (Vertex cV : cVertices) { + if (thisSurface.collision(cV, cV.add(move), guides, intersection)) { + System.out.println("collision"); + if (displayMovementGuides) { + Edge eA = new Edge(cV,cV.add(move)); + guides.add(eA); + } + Collection<Vertex> sVertices = bSurf.getVertices(); + for (Vertex sV : sVertices) { + PhysicsParticle pp = particles.get(sV); + //change speed and velocity of all particles of the surface + double dist = sV.distance(intersection); + Vertex pMove = move.scale(dist); + Vertex pDirection = intersection.minus(sV); + double pX = pDirection.getX(); + pDirection.normalize(); + //check other points and add or subtract their acceleration + for (Vertex oV : sVertices) { + if (!oV.equals(sV)) { + Vertex oDirection = oV.minus(sV); + double a = oDirection.dot(pDirection); + Vertex oVProject = pDirection.scale(a); + double oDist = oV.distance(intersection); + Vertex oMove = move.scale(oDist); + //check where the point is in relation to the intersection point + double x = (oVProject.getX()-sV.getX())/pX; + if (x>1) { + //point is opposite of intersection point + pMove = pMove.minus(oMove); + } else { + pMove = pMove.add(oMove); + } + } + } + //check which direction pMove points + Vertex nMove = move.copy(); + Vertex nPMove = pMove.copy(); + nMove.normalize(); + nPMove.normalize(); + double dir = -1; + if (nMove.equalEps(nPMove)) { + dir = 1; + } + Vertex a = move.copy(); + a.normalize(); + pp.a = a.scale(pp.a.length()/4*dir*pMove.length()); + + Vertex vel = thisSurface.reflect(move); + vel.normalize(); + vel.scaleIt(pp.vel.length()*dir*pMove.length()*-1*4); + pp.vel = vel.copy(); + + //pp.pos = pp.pos.minus(move); + //pp.nPos = pp.pos.minus(move); + //pp.lastPos = pp.pos.minus(move); + } + //recalc position and velocity + //nPos = new Vertex(pos.getX(),pos.getY(),pos.getZ()); + //nPos = nPos.add(vel.scale(time)); + //nPos = nPos.add(a.scale(0.5*time*time)); + } + } + } + } + lastPos = pos.copy(); + */ + } } Index: PhysicsPackage.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics/PhysicsPackage.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** PhysicsPackage.java 4 Apr 2012 09:16:21 -0000 1.13 --- PhysicsPackage.java 6 May 2012 15:15:00 -0000 1.14 *************** *** 181,190 **** } ! private BooleanValue collisionON = new BooleanValue(true); public BooleanValue getCollision() { return collisionON; } public void setMaterialToPlanarity() { Collection<Surface> nSurfaces = cNet.getSurfaces(); --- 181,205 ---- } ! private DoubleValue topologyForce = new DoubleValue(0); ! double oldTopologyForce = 0; ! public DoubleValue getTopologyForce() { ! return topologyForce; ! } + private BooleanValue collisionON = new BooleanValue(true); public BooleanValue getCollision() { return collisionON; } + private BooleanValue sectionOn = new BooleanValue(true); + public BooleanValue getSectionOn() { + return sectionOn; + } + + private DoubleValue sectionHeight = new DoubleValue(1.0); + public DoubleValue getSectionHeight() { + return sectionHeight; + } + public void setMaterialToPlanarity() { Collection<Surface> nSurfaces = cNet.getSurfaces(); *************** *** 278,284 **** } // create physics Net ! pN = new PhysicsNet(cNet, gravity.getValue(), springConstant.getValue(), ! cDamp.getValue(), pDamp.getValue(), mass.getValue(), restLengthFactor ! .getValue(),bendingStiffness.getValue()); pN.toolFactor = factor.getValue(); pN.selectionDistance = selectionDistance.getValue(); --- 293,297 ---- } // create physics Net ! pN = new PhysicsNet(cNet, gravity.getValue(), springConstant.getValue(),cDamp.getValue(), pDamp.getValue(), mass.getValue(), restLengthFactor.getValue(),bendingStiffness.getValue(),topologyForce.getValue()); pN.toolFactor = factor.getValue(); pN.selectionDistance = selectionDistance.getValue(); *************** *** 329,332 **** --- 342,350 ---- } oldBendingStiffness = bendingStiffness.getValue(); + //topology stiffness + if (oldTopologyForce != topologyForce.getValue()) { + pN.updatetopologyStiffness(topologyForce.getValue()); + } + oldTopologyForce = topologyForce.getValue(); // tool Factor pN.toolFactor = factor.getValue(); *************** *** 356,359 **** --- 374,378 ---- if (oldRestlengthFactor != restLengthFactor.getValue()) { pN.updateBendingStiffnessSprings(restLengthFactor.getValue()); + pN.updateTopologySprings(restLengthFactor.getValue()); oldRestlengthFactor = restLengthFactor.getValue(); } *************** *** 372,379 **** Space guides = Item.createUnion("Guidelines"); union.add(guides); // change p-net ! pN.update(guides, timeStep.getValue(), equalConstant.getValue(), equalDamping.getValue(), rectConstant.getValue(), rectDamping.getValue(), planeConstant.getValue(), planeDamping.getValue(), ! volume.getValue(), bendingStiffness.getValue(), circularForce.getValue()); setMaterialToPlanarity(); union.add(cNet); --- 391,401 ---- Space guides = Item.createUnion("Guidelines"); union.add(guides); + + //add sections + Space sectionSpace = Item.createUnion("Sections"); + union.add(sectionSpace); // change p-net ! pN.update(guides, timeStep.getValue(), equalConstant.getValue(), equalDamping.getValue(), rectConstant.getValue(), rectDamping.getValue(), planeConstant.getValue(), planeDamping.getValue(),volume.getValue(), bendingStiffness.getValue(), circularForce.getValue(),topologyForce.getValue(),sectionOn.getValue(),sectionHeight.getValue(),sectionSpace); setMaterialToPlanarity(); union.add(cNet); *************** *** 654,657 **** --- 676,684 ---- } { + SliderControl control = new SliderControl(0, 100, skeleton.getTopologyForce(), this); + Label labelled = new Label("Topology Stiffness", control); + content.add(labelled.row()); + } + { SliderControl control = new SliderControl(0, 100, skeleton.getCircularForce(), this); Label labelled = new Label("Circular Mesh", control); *************** *** 727,730 **** --- 754,777 ---- content.add(control.row()); } + { + BooleanControl control = new BooleanControl(skeleton.getSectionOn(), this, "Section"); + content.add(control.row()); + } + { + SliderControl control = new SliderControl(-20, 30, skeleton.getSectionHeight(), + this); + Label labelled = new Label("Section Height [m]", control); + content.add(control.row()); + } + /* + private BooleanValue sectionOn = new BooleanValue(true); + public BooleanValue getSectionOn() { + return sectionOn; + } + + private DoubleValue sectionHeight = new DoubleValue(1.0); + public DoubleValue getSectionHeight() { + return sectionHeight; + }*/ // add spacing Index: PhysicsNet.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics/PhysicsNet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PhysicsNet.java 4 Apr 2012 09:16:21 -0000 1.6 --- PhysicsNet.java 6 May 2012 15:14:59 -0000 1.7 *************** *** 14,17 **** --- 14,18 ---- //display guide lines boolean displayBendingStiffness = false; + boolean displayTopologyStiffness = false; //properties *************** *** 29,34 **** HashMap<Vertex,PhysicsParticle> particles = new HashMap(); HashMap<Edge,PhysicsSpring> springs = new HashMap(); ! HashMap<Surface, PhysicsSurface> surfaces = new HashMap(); ! HashMap<Vertex, PhysicsParticle> particlesBS = new HashMap(); //Collision Detection List<PhysicsCollisionSurface> collisionSurfaces = new ArrayList<PhysicsCollisionSurface>(); --- 30,34 ---- HashMap<Vertex,PhysicsParticle> particles = new HashMap(); HashMap<Edge,PhysicsSpring> springs = new HashMap(); ! HashMap<Surface, PhysicsSurface> surfaces = new HashMap(); //Collision Detection List<PhysicsCollisionSurface> collisionSurfaces = new ArrayList<PhysicsCollisionSurface>(); *************** *** 36,43 **** List<PhysicsParticle> bendingStiffnessParticles = new ArrayList<PhysicsParticle>(); List<PhysicsSpring> bendingStiffnessSprings = new ArrayList<PhysicsSpring>(); ! //constructor ! PhysicsNet(Space cNet, double gravity, double spring_constant, double spring_damping, double particle_damping, double mass, double restLengthFactor, double bendingStiffness) { Map pMap = new HashMap(); globalParticleMass = mass; --- 36,47 ---- List<PhysicsParticle> bendingStiffnessParticles = new ArrayList<PhysicsParticle>(); List<PhysicsSpring> bendingStiffnessSprings = new ArrayList<PhysicsSpring>(); ! HashMap<Vertex, PhysicsParticle> particlesBS = new HashMap(); ! //Topology Stiffness ! List<PhysicsSpring> topologySprings = new ArrayList<PhysicsSpring>(); ! //Section ! PhysicsSection pSection; //constructor ! PhysicsNet(Space cNet, double gravity, double spring_constant, double spring_damping, double particle_damping, double mass, double restLengthFactor, double bendingStiffness, double topologyStiffness) { Map pMap = new HashMap(); globalParticleMass = mass; *************** *** 144,152 **** } ppC = particles.get(pC); ! ps = new PhysicsSpring(ppA,ppC,pC.distance(pA),bendingStiffness); bendingStiffnessSprings.add(ps); ppA.connectSpring(ps); ppC.connectSpring(ps); ! ps = new PhysicsSpring(ppB,ppC,pC.distance(pB),bendingStiffness); bendingStiffnessSprings.add(ps); ppB.connectSpring(ps); --- 148,156 ---- } ppC = particles.get(pC); ! ps = new PhysicsSpring(ppA,ppC,pC.distance(pA),topologyStiffness); bendingStiffnessSprings.add(ps); ppA.connectSpring(ps); ppC.connectSpring(ps); ! ps = new PhysicsSpring(ppB,ppC,pC.distance(pB),topologyStiffness); bendingStiffnessSprings.add(ps); ppB.connectSpring(ps); *************** *** 154,157 **** --- 158,188 ---- } } + //create particles and springs for topology stiffness + bSurfaces = cNet.getSurfaces(); + for (Surface s : bSurfaces) { + Collection<Vertex> sVertices = s.getVertices(); + Collection<Edge> sEdges = s.getEdges(); + for (Vertex v : sVertices) { + List<Edge> vEdges = new ArrayList<Edge>(); + List<Vertex> vVertices = new ArrayList<Vertex>(); + for (Edge e : sEdges) { + if (v.coincides(e.getFrom())) { + vEdges.add(e); + vVertices.add(e.getTo()); + } + if (v.coincides(e.getTo())) { + vEdges.add(e); + vVertices.add(e.getFrom()); + } + } + if (vVertices.size() == 2) { + PhysicsParticle ppA = particles.get(vVertices.get(0)); + PhysicsParticle ppB = particles.get(vVertices.get(1)); + PhysicsSpring ps = new PhysicsSpring(ppA,ppB,ppA.pos.distance(ppB.pos),topologyStiffness); + topologySprings.add(ps); + } + } + } + } *************** *** 307,311 **** } ! void update(Space guides, double time, double equalConstant, double equalDamping, double rectConstant, double rectDamping, double planeConstant, double planeDamping, double volume, double bendingStiffness, double circularForce) { Iterator it; //calculate surface forces --- 338,355 ---- } ! void updateTopologySprings(double restLengthFactor) { ! for (PhysicsSpring pS : topologySprings) { ! pS.restLengthFactor = restLengthFactor; ! } ! } ! ! void updatetopologyStiffness(double topologyStiffness) { ! for (PhysicsSpring pS : topologySprings) { ! pS.c = topologyStiffness; ! } ! } ! ! ! void update(Space guides, double time, double equalConstant, double equalDamping, double rectConstant, double rectDamping, double planeConstant, double planeDamping, double volume, double bendingStiffness, double circularForce, double topologyStiffness, boolean sectionOn, double sectionHeight,Space SectionSpace) { Iterator it; //calculate surface forces *************** *** 319,322 **** --- 363,367 ---- s.planarize(guides, time, planeConstant, planeDamping); s.circularSurface(guides, time, circularForce, rectDamping); + s.collision(collisionSurfaces, collisionOn, guides); if ((volume>0) && (solid)) { double normalForce = s.calcArea()*volume/currentVolume; *************** *** 367,371 **** --- 412,428 ---- } } + //update springs for topology stiffness + for (PhysicsSpring pS : topologySprings) { + pS.update(time, spring_d); + if (displayTopologyStiffness) { + Edge eB = new Edge(pS.pA.pos, pS.pB.pos); + guides.add(eB); + } + } cNet.update(); + if (sectionOn) { + pSection = new PhysicsSection(SectionSpace,cNet,new Vertex(0,0,sectionHeight),new Vertex(0,0,1)); + pSection.computeSection(); + } } Index: PhysicsPlane.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/physics/PhysicsPlane.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PhysicsPlane.java 23 May 2011 12:25:17 -0000 1.2 --- PhysicsPlane.java 6 May 2012 15:14:59 -0000 1.3 *************** *** 91,95 **** double k = n/d; i = p.add(dir.scale(k)); - //System.out.println("found intersection"); return i; } --- 91,94 ---- |