@Override void setCompiled() { super.setCompiled(); if (sharedGroup != null) { sharedGroup.setCompiled(); } }
@Override void updateCollidable(HashKey keys[], boolean collide[]) { super.updateCollidable(keys, collide); if (sharedGroup != null) { HashKey newKeys[] = getNewKeys(locale.nodeId, keys); sharedGroup.updateCollidable(newKeys, collide); } }
@Override void updatePickable(HashKey keys[], boolean pick[]) { super.updatePickable(keys, pick); if (sharedGroup != null) { HashKey newKeys[] = getNewKeys(locale.nodeId, keys); sharedGroup.updatePickable(newKeys, pick); } }
@Override void computeCombineBounds(Bounds bounds) { if (boundsAutoCompute) { sharedGroup.computeCombineBounds(bounds); } else { // Should this be lock too ? ( MT safe ? ) synchronized (localBounds) { bounds.combine(localBounds); } } }
@Override void searchGeometryAtoms(UnorderList list) { if (sharedGroup != null) { sharedGroup.searchGeometryAtoms(list); } }
/** * Gets the bounding object of a node. * * @return the node's bounding object */ @Override Bounds getBounds() { return (boundsAutoCompute ? (Bounds) sharedGroup.getBounds().clone() : super.getBounds()); }