@Override protected Object clone() { TexCoordGenerationRetained tr = (TexCoordGenerationRetained) super.clone(); tr.planeS = new Vector4f(planeS); tr.planeT = new Vector4f(planeT); tr.planeR = new Vector4f(planeR); // other attributes is copied in super.clone() return tr; }
/** * Creates a mirror object, point the mirror object to the retained object if the object is not * editable */ @Override synchronized void createMirrorObject() { if (mirror == null) { // Check the capability bits and let the mirror object // point to itself if is not editable if (isStatic()) { mirror = this; } else { TexCoordGenerationRetained mirrorTg = new TexCoordGenerationRetained(); mirrorTg.set(this); mirrorTg.source = source; mirror = mirrorTg; } } else { ((TexCoordGenerationRetained) mirror).set(this); } }
/** Update the "component" field of the mirror object with the given "value" */ @Override synchronized void updateMirrorObject(int component, Object value) { TexCoordGenerationRetained mirrorTc = (TexCoordGenerationRetained) mirror; mirrorTc.mirrorCompDirty = true; if ((component & ENABLE_CHANGED) != 0) { mirrorTc.enable = ((Boolean) value).booleanValue(); } else if ((component & PLANE_S_CHANGED) != 0) { mirrorTc.planeS = (Vector4f) value; } else if ((component & PLANE_T_CHANGED) != 0) { mirrorTc.planeT = (Vector4f) value; } else if ((component & PLANE_R_CHANGED) != 0) { mirrorTc.planeR = (Vector4f) value; } else if ((component & PLANE_Q_CHANGED) != 0) { mirrorTc.planeQ = (Vector4f) value; } }
/** * Initializes a mirror object, point the mirror object to the retained object if the object is * not editable */ @Override synchronized void initMirrorObject() { ((TexCoordGenerationRetained) mirror).set(this); }