Refine search
for(int i=0;i<24;i++)normals[i]=new Vector3f(); Point3f [] pts=new Point3f[24]; for(int i=0;i<24;i++)pts[i]=new Point3f(); Color3f [] clrs=new Color3f[24]; for(int i=0;i<24;i++)clrs[i]=new Color3f(0.5f,0.5f,0.5f); pa.setCullFace(PolygonAttributes.CULL_NONE); Material mat=new Material(); mat.setEmissiveColor(new Color3f(0.5f,0.5f,0.5f)); mat.setAmbientColor(new Color3f(0.1f,0.1f,0.1f)); mat.setDiffuseColor(new Color3f(0.2f,0.3f,0.4f)); mat.setSpecularColor(new Color3f(0.6f,0.3f,0.2f)); light1.setInfluencingBounds(new BoundingSphere(new Point3d(-5.0,0,0),10.0)); light1.setColor(new Color3f(1f,1f,1f)); light1.setDirection(new Vector3f(0,1,0)); objRotate.addChild(light1); DirectionalLight light2=new DirectionalLight(); light2.setInfluencingBounds(new BoundingSphere(new Point3d(5.0,0,0),10.0)); light2.setColor(new Color3f(0.5f,1f,0.5f)); light2.setDirection(new Vector3f(0,-1,0)); objRotate.addChild(light2); MouseRotate f1=new MouseRotate();
("\nBeam echo can't have hotspot at origin") ; Vector3f axis = new Vector3f((float)hotspot.x, (float)hotspot.y, (float)hotspot.z) ; Vector3f axis1 = new Vector3f() ; axis1.normalize(axis) ; Transform3D t3d = new Transform3D() ; t3d.set(aa4f) ; capNormals[i] = new Vector3f(normal) ; cap0[i] = new Point3f(normal) ; cap0[i].scale(halfWidth) ; cap1[i] = new Point3f(cap0[i]) ; cap1[i].add(axis) ; t3d.transform(normal) ;
private void addText(final String s, final Point3f pos, final float fontsize, final Color3f c) { final Transform3D translation = new Transform3D(); translation.rotX(Math.PI); translation.setTranslation(new Vector3f(pos)); final TransformGroup tg = new TransformGroup(translation); final OrientedShape3D textShape = new OrientedShape3D(); textShape.setAlignmentMode(OrientedShape3D.ROTATE_ABOUT_POINT); textShape.setAlignmentAxis(0.0f, 1.0f, 0.0f); textShape.setRotationPoint(new Point3f(0, 0, 0)); textShape.setConstantScaleEnable(true); final Text2D t2d = new Text2D(s, c, "Helvetica", 24, Font.PLAIN); t2d.setRectangleScaleFactor(0.03f); textShape.setGeometry(t2d.getGeometry()); textShape.setAppearance(t2d.getAppearance()); tg.addChild(textShape); addChild(tg); }
float allGains = this.gain; // product of gain scale factors Point3f workingPosition = new Point3f(); Point3f workingCenterEar = new Point3f(); Vector3f mixScale = new Vector3f(); // for mix*Samples code workingPosition.set(positions[currentIndex]); workingCenterEar.set(centerEars[currentIndex]); if (debugFlag) { debugPrint("panSample:workingPosition from" + distanceSourceToCenterEar = workingPosition.distance(workingCenterEar); distanceSourceToRightEar = workingPosition.distance(xformRightEar); distanceSourceToLeftEar = workingPosition.distance(xformLeftEar); distanceBetweenEars = xformRightEar.distance(xformLeftEar); if (debugFlag) debugPrint(" distance from left,right ears to source: = (" + workingPosition.sub(workingCenterEar); // offset sound pos. by head origin workingPosition.scale(1.0f/distanceSourceToCenterEar); if (debugFlag) debugPrint(" workingPosition after unitization " +
void outVertex(Point3f[] dpts, Vector3f[] dnormals, TexCoord2f[] dtcoords, int dloc, Point3f[] spts, Vector3f[] snormals, TexCoord2f[] stcoords, int sloc) { if (debug >= 1) System.out.println("v " + spts[sloc].x + " " + spts[sloc].y + " " + spts[sloc].z); // PSP: Do we really need new points here? dpts[dloc] = new Point3f(spts[sloc]); if ((flags & Primitive.GENERATE_NORMALS) != 0){ dnormals[dloc] = new Vector3f(snormals[sloc]); } if ((flags & Primitive.GENERATE_TEXTURE_COORDS) != 0){ if (debug >= 2) System.out.println("final out tcoord"); dtcoords[dloc] = new TexCoord2f(stcoords[sloc]); } } }
@Override Object get() { Tuple3f[] arr = new Tuple3f[this.length]; for (int i = 0; i < this.length; i++) { int j = i * 3; arr[i] = new Point3f(); arr[i].x = this.value[j+0]; arr[i].y = this.value[j+1]; arr[i].z = this.value[j+2]; } return arr; }
univ.setUseToFront(false); final Transform3D org = new Transform3D(); c.getLocalTranslate().getTransform(org); final Transform3D t2 = new Transform3D(); c.getLocalRotate().getTransform(t2); org.mul(t2); final Matrix4f m = new Matrix4f(); org.get(m); final Point3f center = new Point3f(contentCenter);
final double c = r * Math.cos(a); final double s = r * Math.sin(a); p[i] = new Point3f((float) c, (float) s, 0); float ax = -(float) Math.asin((p1.y - p0.y) / p1.distance(p0)); rx.rotX(ax); final Point3f pi = p[i]; rx.transform(pi); pi.add(p0); final int idx0 = ((pi - 1) * parallels + i); final int idx1 = (pi * parallels + i); p[idx1] = new Point3f(p[idx0]); p[idx1].add(transl); p[idx1] = intersect(p[idx0], p[idx1], plane, p1); final double c = r * Math.cos(a); final double s = r * Math.sin(a); p[offset + i] = new Point3f((float) c, (float) s, 0); ax = -(float) Math.asin((p1.y - p0.y) / p1.distance(p0)); rx.rotX(ax); final Point3f pi = p[offset + i]; rx.transform(pi); pi.add(p1);
final float tickSize, final boolean noTicks) final float lineLength = start.distance(end); final int nTicks = (int) Math.floor((lineLength - first) / tickDistance) + 1; coords[i++] = end; if (!noTicks) { final Point3f p = new Point3f(); final Vector3f dir = new Vector3f(); dir.sub(end, start); dir.normalize(); final float fx = first * dir.x; final float fy = first * dir.y; p.z = start.z + fz + t * dir.z; coords[i++] = new Point3f(p.x - tickSize, p.y, p.z); coords[i++] = new Point3f(p.x + tickSize, p.y, p.z); coords[i++] = new Point3f(p.x, p.y - tickSize, p.z); coords[i++] = new Point3f(p.x, p.y + tickSize, p.z); coords[i++] = new Point3f(p.x, p.y, p.z - tickSize); coords[i++] = new Point3f(p.x, p.y, p.z + tickSize);
private static Point3f intersect(final Point3f p1, final Point3f p2, final Vector3f n, final Point3f p3) { // http://paulbourke.net/geometry/planeline/ final Vector3f v1 = new Vector3f(); v1.sub(p3, p1); final Vector3f v2 = new Vector3f(); v2.sub(p2, p1); final float u = (n.dot(v1)) / (n.dot(v2)); final Point3f res = new Point3f(); res.scaleAdd(u, v2, p1); return res; } }
firstFrame.setMatrix(mat); debugOutputLn(VALUES, "Light transform = " + mat); Transform3D t1 = new Transform3D(); t1.set(mat); objectTransform = new TransformGroup(t1); objectTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); Vector3f defaultDir = new Vector3f(0f, 0f, -1f); Point3f defaultPos = new Point3f(0f, 0f, 0f);
void setXformedPosition() { Point3f newPosition = new Point3f(); if (debugFlag) debugPrint("*** setXformedPosition"); if (debugFlag) debugPrint(" Transform set so transform pos"); vworldXfrm.transform(position, newPosition); newPosition.set(position); positions[currentIndex].set(newPosition); if (debugFlag) debugPrint(" xform(sound)Position -" + centerEars[currentIndex].set(centerEars[lastIndex]);
public void normalizeCoords(final Point3f min, final Point3f max) { final float dx = max.x - min.x; final float dy = max.y - min.y; final float dz = max.z - min.z; final float maxd = Math.max(dx, Math.max(dy, dz)); final Point3f center = new Point3f(); center.add(min, max); center.scale(0.5f); for (final Point3f p : coords) { p.sub(center); p.scale(1 / maxd); } }
static private final List<Point3f> transform(final Transform3D t, final List<Point3f> plane, final float x, final float y, final float z, final float radius) { final List<Point3f> ps = new ArrayList<Point3f>(plane.size()); for (final Point3f p2 : plane) { final Point3f p = new Point3f(p2); p.scale(radius); t.transform(p); p.x += x; p.y += y; p.z += z; ps.add(p); } return ps; }
iPos.set(keyFrames[1].position); iScale.set(keyFrames[1].scale); iPos.set(keyFrames[upperKnot].position); iScale.set(keyFrames[upperKnot].scale); tMat.m13 = iPos.y; tMat.m23 = iPos.z; rotation.set(tMat); transform.mul(axis, rotation); transform.setScale(new Vector3d(iScale)); transform.mul(transform, axisInverse);
int nSwitches,i,index=0; Transform3D localToWorldTrans = new Transform3D(); localToWorldTrans.set(((NodeRetained)this.retained).getCurrentLocalToVworld()); localToWorldTrans.transform( position, center); viewPosition.y = (float)((ViewPlatformRetained)vp.retained).schedSphere.center.y; viewPosition.z = (float)((ViewPlatformRetained)vp.retained).schedSphere.center.z; viewDistance = center.distance( viewPosition);
this.center = new Point3f(center); this.radius = radius; this.color = color; sphere.setName("BS"); final Vector3f translateV = new Vector3f(center); translate.set(translateV); translateTG = new TransformGroup(translate); translateTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); scale.set(radius); scaleTG = new TransformGroup(scale); scaleTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
private void calculateMinMaxCenterPoint() { min = new Point3f(); max = new Point3f(); center = new Point3f(); if (customMeshes.isEmpty()) return; customMeshes.get(0).calculateMinMaxCenterPoint(min, max, center); final Point3f mint = new Point3f(); final Point3f maxt = new Point3f(); final int n = customMeshes.size(); if (n == 1) return; for (int i = 1; i < n; i++) { final CustomMesh mesh = customMeshes.get(i); mesh.calculateMinMaxCenterPoint(mint, maxt, center); adjustMinMax(mint, min, max); adjustMinMax(maxt, min, max); } center.sub(max, min); center.scale(0.5f); }