codesimian
Class Object3d

java.lang.Object
  extended by codesimian.CS
      extended by codesimian.DefaultCS
          extended by codesimian.Object3d
All Implemented Interfaces:
CodeSimian, java.io.Serializable

public class Object3d
extends DefaultCS

A 3d object, with a list of other objects in P(0) and a list of numbers in P(1).

Those objects are objects (of any Java type) this Object3d is made of (recursive), or objects this Object3d interacts with, or some of both.

Those numbers are the properties of this Object3d, like x y z position and speed and radius of a bounding-sphere.

It is not necessary to extend Object3d. A CS is an object3d if: 2 < cs.countP() && Object3d.LASTINDEX < cs.P(1).countP()

To be compatible with NETWORKS and NODES (above), 3d objects are defined this way: some3dObject.P(0) returns the 3d objects that this 3d object is made of. some3dObject.P(1) returns the numbers that describe this 3d object. For example, obj.P(1).P(0) could be x position, obj.P(1).P(2) is z position, obj.P(1).P(3-5) are x y and z SPEEDs. obj.P(1).P(6) is the radius of a bounding sphere of this 3d object, centered at the obj.P(1).P(0-2) position. Other numbers could be for mass, rotation, etc.

See Also:
Serialized Form

Field Summary
static int LASTINDEX
           
static int RADIUS
          some3DObject.P(1).P(View3D.RADIUS) is radius of a bounding-sphere of this 3d object, centered around X,Y,Z
static int X
          some3DObject.P(1).P(View3D.X) is X position of some3DObject
static int XSPEED
          some3DObject.P(1).P(View3D.XSPEED) is X speed of some3DObject
static int Y
           
static int YSPEED
           
static int Z
           
static int ZSPEED
           
 
Fields inherited from class codesimian.CS
DESCRIPTION, END, EXECPROXY, FUEL, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER
 
Constructor Summary
Object3d()
           
 
Method Summary
 double DForProxy()
          D() and DForProxy() are the 2 most important functions in CS.
 int minP()
          For DForProxy().
Minimum number of parameters in param[] needed to call DForProxy().
Defines which indexs of param[] DForProxy() can use.
Functions with a different number of parameters must override this.
OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS.
Default is 1.
 
Methods inherited from class codesimian.DefaultCS
B, C, countP, decrementMyFuel, deleteP, description, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertP, insertS, insertZ, J, javaCode, keyword, LForProxy, LForProxy, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, P, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setL1, setMyFuel, setName, setObject, setP, setPrevExec, setS, setZ, start, toString, V, Z
 
Methods inherited from class codesimian.CS
addP, addP, addP, addP, addP, BForProxy, CForProxy, clone, cost, D, deleteP, FForProxy, IForProxy, isIllusion, javaCode, JForProxy, L, L, L, L, L, maxD, maxP, minD, overwrites, parent, parsePriority, PB, PC, PD, PF, PI, PJ, PL, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, setB, setC, setCost, setDescription, setF, setHeap, setI, setJ, setL, setL, setParent, setParsePriority, setProxyOf, setPType, setS, setTester, setZ, SForProxy, tester, VForProxy, voidReflect, ZForProxy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

X

public static final int X
some3DObject.P(1).P(View3D.X) is X position of some3DObject

See Also:
Constant Field Values

Y

public static final int Y
See Also:
Constant Field Values

Z

public static final int Z
See Also:
Constant Field Values

XSPEED

public static final int XSPEED
some3DObject.P(1).P(View3D.XSPEED) is X speed of some3DObject

See Also:
Constant Field Values

YSPEED

public static final int YSPEED
See Also:
Constant Field Values

ZSPEED

public static final int ZSPEED
See Also:
Constant Field Values

RADIUS

public static final int RADIUS
some3DObject.P(1).P(View3D.RADIUS) is radius of a bounding-sphere of this 3d object, centered around X,Y,Z

See Also:
Constant Field Values

LASTINDEX

public static final int LASTINDEX
See Also:
Constant Field Values
Constructor Detail

Object3d

public Object3d()
Method Detail

minP

public int minP()
Description copied from class: DefaultCS
For DForProxy().
Minimum number of parameters in param[] needed to call DForProxy().
Defines which indexs of param[] DForProxy() can use.
Functions with a different number of parameters must override this.
OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS.
Default is 1.

Overrides:
minP in class DefaultCS

DForProxy

public double DForProxy()
Description copied from class: CS
D() and DForProxy() are the 2 most important functions in CS. They execute this CS. All other execute functions, by default, use DForProxy instead of reinventing-the-wheel for their own type.

For example, J() calls JForProxy() which calls DForProxy(). D() calls DForProxy() directly.

Execute this CS and cast to double. D() is the main EXECUTE function. D() uses DForProxy(). DForProxy() is the main action of every CS, the most important function. By default, all other primitive EXECUTE functions defer to D.
Functions that EXECUTE this CS: L(Class) L(int,Class,int) Z() B() C() S() I() J() F() D() V()

Specified by:
DForProxy in class DefaultCS