/** * View a particular column as dVector3. For example: <br><tt> * // dir[0] = R[0*4+2]; <br> * // dir[1] = R[1*4+2]; <br> * // dir[2] = R[2*4+2]; <br> * dir.set(R.getColumnView(2)); * </tt> * @param column The column to return [0, 1, 2]. */ @Override public DVector3ColView viewCol(int column) { return new DVector3ColView(column); }
/** * Convenience function that performs: * this = v2*s2 + v3*s3 * @param v2 v2 * @param s2 s2 * @param v3 v3 * @param s3 s3 * @return this */ public final DVector3 eqSum(DVector3ColView v2, double s2, DVector3ColView v3, double s3) { set0( v2.get0()*s2 + v3.get0()*s3 ); set1( v2.get1()*s2 + v3.get1()*s3 ); set2( v2.get2()*s2 + v3.get2()*s3 ); return this; }
private void dGeomRaySet (double px, double py, double pz, double dx, double dy, double dz) { // dUASSERT (g!=null && g.type == dRayClass,"argument not a ray"); recomputePosr(); DMatrix3C rot = final_posr().R(); // dVector3 pos = final_posr().pos(); DVector3 n; // pos[0] = px; // pos[1] = py; // pos[2] = pz; _final_posr.pos.set(px, py, pz); // n[0] = dx; // n[1] = dy; // n[2] = dz; n = new DVector3(dx, dy, dz); //dNormalize3(n); n.normalize(); // rot[0*4+2] = n[0]; // rot[1*4+2] = n[1]; // rot[2*4+2] = n[2]; rot.viewCol(2).set(n); dGeomMoved (); } private void dGeomRaySet (DVector3C p, DVector3C d)
private void dGeomRaySet (double px, double py, double pz, double dx, double dy, double dz) { // dUASSERT (g!=null && g.type == dRayClass,"argument not a ray"); recomputePosr(); DMatrix3C rot = final_posr().R(); // dVector3 pos = final_posr().pos(); DVector3 n; // pos[0] = px; // pos[1] = py; // pos[2] = pz; _final_posr.pos.set(px, py, pz); // n[0] = dx; // n[1] = dy; // n[2] = dz; n = new DVector3(dx, dy, dz); //dNormalize3(n); n.normalize(); // rot[0*4+2] = n[0]; // rot[1*4+2] = n[1]; // rot[2*4+2] = n[2]; rot.viewCol(2).set(n); dGeomMoved (); } private void dGeomRaySet (DVector3C p, DVector3C d)
/** * Convenience function that performs: * this = v2*s2 + v3*s3 * @param v2 v2 * @param s2 s2 * @param v3 v3 * @param s3 s3 * @return this */ public final DVector3 eqSum(DVector3ColView v2, double s2, DVector3C v3, double s3) { set0( v2.get0()*s2 + v3.get0()*s3 ); set1( v2.get1()*s2 + v3.get1()*s3 ); set2( v2.get2()*s2 + v3.get2()*s3 ); return this; }
/** * Convenience function that performs: * this = v2*s2 + v3*s3 * @param v2 v2 * @param s2 s2 * @param v3 v3 * @param s3 s3 * @return this */ public final DVector3 eqSum(DVector3ColView v2, double s2, DVector3C v3, double s3) { set0( v2.get0()*s2 + v3.get0()*s3 ); set1( v2.get1()*s2 + v3.get1()*s3 ); set2( v2.get2()*s2 + v3.get2()*s3 ); return this; }
/** * Convenience function that performs: * this = v2 + v3*s3 * @param v2 v2 * @param v3 v3 * @param s3 s3 * @return this */ public final DVector3 eqSum(DVector3C v2, DVector3ColView v3, double s3) { set0( v2.get0() + v3.get0()*s3 ); set1( v2.get1() + v3.get1()*s3 ); set2( v2.get2() + v3.get2()*s3 ); return this; }
/** * View a particular column as dVector3. For example: <br><tt> * // dir[0] = R[0*4+2]; <br> * // dir[1] = R[1*4+2]; <br> * // dir[2] = R[2*4+2]; <br> * dir.set(R.getColumnView(2)); * </tt> * @param column The column to return [0, 1, 2]. */ @Override public DVector3ColView viewCol(int column) { return new DVector3ColView(column); }
/** * Convenience function that performs: * this = v2*s2 + v3*s3 * @param v2 v2 * @param s2 s2 * @param v3 v3 * @param s3 s3 * @return this */ public final DVector3 eqSum(DVector3ColView v2, double s2, DVector3ColView v3, double s3) { set0( v2.get0()*s2 + v3.get0()*s3 ); set1( v2.get1()*s2 + v3.get1()*s3 ); set2( v2.get2()*s2 + v3.get2()*s3 ); return this; }
private void dGeomRaySet (DVector3C p, DVector3C d) { recomputePosr(); DMatrix3C rot = final_posr().R(); _final_posr.pos.set(p); DVector3 n = new DVector3(d); n.normalize(); rot.viewCol(2).set(n); dGeomMoved (); }
/** * Convenience function that performs: * this = v2 + v3*s3 * @param v2 v2 * @param v3 v3 * @param s3 s3 * @return this */ public final DVector3 eqSum(DVector3C v2, DVector3ColView v3, double s3) { set0( v2.get0() + v3.get0()*s3 ); set1( v2.get1() + v3.get1()*s3 ); set2( v2.get2() + v3.get2()*s3 ); return this; }
private void dGeomRaySet (DVector3C p, DVector3C d) { recomputePosr(); DMatrix3C rot = final_posr().R(); _final_posr.pos.set(p); DVector3 n = new DVector3(d); n.normalize(); rot.viewCol(2).set(n); dGeomMoved (); }