Android Open Source - min3d Object3d Container






From Project

Back to project page min3d.

License

The source code is released under:

MIT License

If you think the Android project min3d listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.min3d.lib.core;
/*from   www .j a va  2 s .c om*/
import com.min3d.lib.interfaces.IObject3dContainer;

import java.util.ArrayList;

public class Object3dContainer extends Object3d implements IObject3dContainer
{
  protected ArrayList<Object3d> _children = new ArrayList<Object3d>();

  public Object3dContainer()
  {
    super(0, 0, false, false, false);
  }
  /**
   * Adds container functionality to Object3d.
   * 
   * Subclass Object3dContainer instead of Object3d if you
   * believe you may want to add children to that object. 
   */
  public Object3dContainer(int $maxVerts, int $maxFaces)
  {
    super($maxVerts, $maxFaces, true,true,true);
  }

  public Object3dContainer(int $maxVerts, int $maxFaces,  Boolean $useUvs, Boolean $useNormals, Boolean $useVertexColors)
  {
    super($maxVerts, $maxFaces, $useUvs,$useNormals,$useVertexColors);
  }
  
  /**
   * This constructor is convenient for cloning purposes 
   */
  public Object3dContainer(Vertices $vertices, FacesBufferedList $faces, TextureList $textures)
  {
    super($vertices, $faces, $textures);
  }
  
  public void addChild(Object3d $o)
  {
    _children.add($o);
    
    $o.parent(this);
    $o.scene(this.scene());
  }
  
  public void addChildAt(Object3d $o, int $index) 
  {
    _children.add($index, $o);
    
    $o.parent(this);
    $o.scene(this.scene());
  }

  public boolean removeChild(Object3d $o)
  {
    boolean b = _children.remove($o);
    
    if (b) {
      $o.parent(null);
      $o.scene(null);
    }
    return b;
  }
  
  public Object3d removeChildAt(int $index) 
  {
    Object3d o = _children.remove($index);
    if (o != null) {
      o.parent(null);
      o.scene(null);
    }
    return o;
  }
  
  public Object3d getChildAt(int $index) 
  {
    return _children.get($index);
  }

  /**
   * TODO: Use better lookup 
   */
  public Object3d getChildByName(String $name)
  {
    for (int i = 0; i < _children.size(); i++)
    {
      if (_children.get(i).name().equals($name)) return _children.get(i); 
    }
    return null;
  }

  public int getChildIndexOf(Object3d $o) 
  {
    return _children.indexOf($o);    
  }


  public int numChildren() 
  {
    return _children.size();
  }
  
  /*package-private*/ 
  ArrayList<Object3d> children()
  {
    return _children;
  }
  
  public Object3dContainer clone()
  {
    Vertices v = _vertices.clone();
    FacesBufferedList f = _faces.clone();

    Object3dContainer clone = new Object3dContainer(v, f, _textures);
    
    clone.position().x = position().x;
    clone.position().y = position().y;
    clone.position().z = position().z;
    
    clone.rotation().x = rotation().x;
    clone.rotation().y = rotation().y;
    clone.rotation().z = rotation().z;
    
    clone.scale().x = scale().x;
    clone.scale().y = scale().y;
    clone.scale().z = scale().z;
    
    for(int i = 0; i< this.numChildren();i++)
    {
       clone.addChild(this.getChildAt(i));
    }
     
    return clone;
  }

}




Java Source Code List

com.min3d.ApplicationTest.java
com.min3d.ExampleAccelerometer.java
com.min3d.ExampleAnimatedTexture.java
com.min3d.ExampleAnimatingVertices.java
com.min3d.ExampleAssigningTexturesDynamically.java
com.min3d.ExampleCamera.java
com.min3d.ExampleFog.java
com.min3d.ExampleFromScratch.java
com.min3d.ExampleInsideLayout.java
com.min3d.ExampleKeyframeAnimation.java
com.min3d.ExampleLightProperties.java
com.min3d.ExampleLoad3DSFile.java
com.min3d.ExampleLoadMD2File.java
com.min3d.ExampleLoadObjFileMultiple.java
com.min3d.ExampleLoadObjFile.java
com.min3d.ExampleMipMap.java
com.min3d.ExampleMostMinimal.java
com.min3d.ExampleMultiTexture.java
com.min3d.ExampleMultipleLights.java
com.min3d.ExampleRenderType.java
com.min3d.ExampleRotatingPlanets.java
com.min3d.ExampleSubsetOfFaces.java
com.min3d.ExampleTextureOffset.java
com.min3d.ExampleTextureWrap.java
com.min3d.ExampleTextures.java
com.min3d.ExampleTransparentGlSurface.java
com.min3d.ExampleVertexColors.java
com.min3d.ExampleVerticesVariations.java
com.min3d.ScratchActivity.java
com.min3d.SplashActivity.java
com.min3d.lib.AParser.java
com.min3d.lib.ApplicationTest.java
com.min3d.lib.IParser.java
com.min3d.lib.LittleEndianDataInputStream.java
com.min3d.lib.MD2Parser.java
com.min3d.lib.Max3DSParser.java
com.min3d.lib.Min3d.java
com.min3d.lib.ObjParser.java
com.min3d.lib.ParseObjectData.java
com.min3d.lib.ParseObjectFace.java
com.min3d.lib.Parser.java
com.min3d.lib.Shared.java
com.min3d.lib.Utils.java
com.min3d.lib.animation.AnimationObject3d.java
com.min3d.lib.animation.KeyFrame.java
com.min3d.lib.core.Color4BufferList.java
com.min3d.lib.core.FacesBufferedList.java
com.min3d.lib.core.ManagedLightList.java
com.min3d.lib.core.Number3dBufferList.java
com.min3d.lib.core.Object3dContainer.java
com.min3d.lib.core.Object3d.java
com.min3d.lib.core.RenderCaps.java
com.min3d.lib.core.RendererActivity.java
com.min3d.lib.core.Renderer.java
com.min3d.lib.core.Scene.java
com.min3d.lib.core.TextureList.java
com.min3d.lib.core.TextureManager.java
com.min3d.lib.core.UvBufferList.java
com.min3d.lib.core.Vertices.java
com.min3d.lib.interfaces.IDirtyManaged.java
com.min3d.lib.interfaces.IDirtyParent.java
com.min3d.lib.interfaces.IObject3dContainer.java
com.min3d.lib.interfaces.ISceneController.java
com.min3d.lib.objectPrimitives.Box.java
com.min3d.lib.objectPrimitives.HollowCylinder.java
com.min3d.lib.objectPrimitives.Rectangle.java
com.min3d.lib.objectPrimitives.SkyBox.java
com.min3d.lib.objectPrimitives.Sphere.java
com.min3d.lib.objectPrimitives.Torus.java
com.min3d.lib.vos.AbstractDirtyManaged.java
com.min3d.lib.vos.BooleanManaged.java
com.min3d.lib.vos.CameraVo.java
com.min3d.lib.vos.Color4Managed.java
com.min3d.lib.vos.Color4.java
com.min3d.lib.vos.Face.java
com.min3d.lib.vos.FloatManaged.java
com.min3d.lib.vos.FogType.java
com.min3d.lib.vos.FrustumManaged.java
com.min3d.lib.vos.LightType.java
com.min3d.lib.vos.Light.java
com.min3d.lib.vos.Number3dManaged.java
com.min3d.lib.vos.Number3d.java
com.min3d.lib.vos.RenderType.java
com.min3d.lib.vos.ShadeModelManaged.java
com.min3d.lib.vos.ShadeModel.java
com.min3d.lib.vos.TexEnvxVo.java
com.min3d.lib.vos.TextureVo.java
com.min3d.lib.vos.Uv.java
com.min3d.lib.vos.Vertex3d.java