@Override public void draw() { g.clear(); g.color(255); _myTouchInteractionManager.draw(g); g.clearDepthBuffer(); g.pushMatrix(); _myArcball.draw(g); g.scale(0.5); g.color(255, 0, 0); g.pointSize(3); g.beginShape(CCDrawMode.POINTS); for (CCSkeletonTouchLocation myLocation : _myTouchInteractionManager.locations()) { g.vertex(myLocation.position()); } g.endShape(); for (CCSkeletonTouchLocation myLocation : _myTouchInteractionManager.locations()) { g.ellipse(myLocation.position(), myLocation.sourceProximity() * 100); } g.color(255); for (CCSkeleton mySkeleton : _mySkeletonManager.skeletons()) { mySkeleton.draw(g); CCPlane3f myBodyPlane = mySkeleton.bodyPlane(); myBodyPlane.drawScale(100); myBodyPlane.draw(g); } for (CCTouchSource mySource : _myTouchInteractionManager.sources()) { g.ellipse(mySource.position(), mySource.locationProximity() * 100); } g.popMatrix(); }
@Override public void update(final float theDeltaTime) { _myPlane.normal().set(_cNormX, _cNormY, _cNormZ).normalize(); _myPlane.constant(_cPlaneConstant); _myIntersections.clear(); for (CCRay3f myRay : _myRays) { CCVector3f myIntersection = _myPlane.intersection(myRay); if (myIntersection != null) _myIntersections.add(myIntersection); } }
@Override public void draw() { g.clear(); _myArcball.draw(g); g.color(255, 100); _myPlane.draw(g); for (CCRay3f myRay : _myRays) { myRay.draw(g); } g.clearDepthBuffer(); g.color(255, 0, 0); for (CCVector3f myIntersection : _myIntersections) { g.point(myIntersection); } }