| |
---|
| | /** |
---|
| | * オブジェクトを配置する |
---|
| | * @param obj 配置するオブジェクト |
---|
| | */ |
---|
| | public void place(Node obj) { |
---|
| | public void placeUnremovable(Node obj) { |
---|
| | if (!root.isCompiled()) { |
---|
| | root.addChild(obj); |
---|
| | } else { |
---|
| | additionalRoot.addChild(obj); |
---|
| |
---|
| | /** |
---|
| | * オブジェクトを配置する |
---|
| | * @param obj 配置するオブジェクト |
---|
| | */ |
---|
| | public void place(Placeable obj) { |
---|
| | public void placeUnremovable(Placeable obj) { |
---|
| | BaseObject3D body = obj.getBody(); |
---|
| | if (body.isReflectionMappingApplied() || body.isBumpMappingApplied()) { |
---|
| | extraObjects.add(body); |
---|
| | } else { |
---|
| | place(obj.getTransformGroupToPlace()); |
---|
| | } |
---|
| | } |
---|
| | placeUnremovable(obj.getTransformGroupToPlace()); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | /** |
---|
| | * 後で取り除けるようにオブジェクトを配置する |
---|
| | * @param obj 配置するオブジェクト |
---|
| | */ |
---|
| | public void placeDisplacable(Node obj) { |
---|
| | public void place(Node obj) { |
---|
| | BranchGroup objRoot; |
---|
| | if (obj.getParent() != null |
---|
| | && obj.getParent() instanceof BranchGroup) { |
---|
| | objRoot = (BranchGroup)obj.getParent(); |
---|
| |
---|
| | /** |
---|
| | * 後で取り除けるようにオブジェクトを配置する |
---|
| | * @param obj 配置するオブジェクト |
---|
| | */ |
---|
| | public void placeDisplacable(Placeable obj) { |
---|
| | public void place(Placeable obj) { |
---|
| | BaseObject3D body = obj.getBody(); |
---|
| | if (body != null && (body.isReflectionMappingApplied() || body.isBumpMappingApplied())) { |
---|
| | extraObjects.add(body); |
---|
| | } else { |
---|
| | placeDisplacable(obj.getTransformGroupToPlace()); |
---|
| | } |
---|
| | } |
---|
| | place(obj.getTransformGroupToPlace()); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | /** |
---|
| | * 影付きで配置する |
---|
| | * @param obj 配置するオブジェクト |
---|
| |
---|
| | BaseObject3D body = obj.getBody(); |
---|
| | if (body instanceof Object3D) { |
---|
| | addShadowOcculuder((Object3D)body); |
---|
| | } else { |
---|
| | place(obj); |
---|
| | } |
---|
| | } |
---|
| | placeUnremovable(obj); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | /** |
---|
| | * 他のオブジェクトの影が落ちるようにオブジェクトを配置する |
---|
| | * @param obj 配置するオブジェクト |
---|
| |
---|
| | |