codesimian
Class Pixels2d.BrightnessFraction

java.lang.Object
  extended by codesimian.CS<CSGeneric>
      extended by codesimian.DefaultCS
          extended by codesimian.Pixels2d
              extended by codesimian.Pixels2d.BrightnessFraction
All Implemented Interfaces:
CodeSimian
Enclosing class:
Pixels2d

public static class Pixels2d.BrightnessFraction
extends Pixels2d

example code: thisComputersScreen(pixels2dBrightnessFraction -(mouseXPos .05) -(mouseYPos .05) .1 .1)


Nested Class Summary
 
Nested classes/interfaces inherited from class codesimian.Pixels2d
Pixels2d.BrightnessFraction
 
Field Summary
 
Fields inherited from class codesimian.Pixels2d
image
 
Fields inherited from class codesimian.CS
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS
 
Constructor Summary
Pixels2d.BrightnessFraction()
           
 
Method Summary
static float brightnessFraction(int rgb)
          0.0 to 1.0, with 255*3+1 possible values
static int brightnessInt01(int rgb)
          0 or 1, rounded
 java.lang.String description()
          a short description of this CS, shorter than the javadoc, but long enough to tell what the params are for.
 java.lang.String keyword()
          For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.

Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add.

Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
 java.lang.Object LForProxy(java.lang.Class c)
          the default implementation can use many Class parameters.
 java.lang.Object LForProxy(int start, java.lang.Class c, int size)
          by default, only works if castToThisType==CS[].class or is a String or List.
 CS P(int index)
          WARNING: if add CSs then delete them, they are still in the param[] array and can be returned in this function, despite them being out of valid range: index at least countP().
 double PD(int index)
          Returns a param as a double.
 int PI(int index)
          0 or 1, rounded
 
Methods inherited from class codesimian.Pixels2d
countP, DForProxy, eraseAlpha, eraseAlpha, minP, setL
 
Methods inherited from class codesimian.DefaultCS
B, C, decrementMyFuel, deleteP, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertP, insertS, insertZ, J, javaCode, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL1, setMyFuel, setName, setObject, setP, setPrevExec, setPType, setS, setZ, start, toString, V, Z
 
Methods inherited from class codesimian.CS
addB, addC, addD, addF, addI, addJ, addL, addP, addP, addP, addP, addP, addS, addZ, BForProxy, CForProxy, clone, cost, D, deleteP, FForProxy, GETB, GETC, GETD, GETF, GETI, GETJ, GETL, GETS, GETZ, IForProxy, isIllusion, JForProxy, L, L, L, L, L, maxD, maxP, minD, overwrites, parent, parsePriority, PB, PC, PF, PJ, PL, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, reflect6, setB, SETB, setC, SETC, setCost, SETD, setDescription, setF, SETF, setHeap, setI, SETI, setJ, SETJ, SETL, setL, setL, setParent, setParsePriority, setProxyOf, setS, SETS, setTester, setZ, SETZ, SForProxy, tester, toJavaCode, VForProxy, voidReflect, ZForProxy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Pixels2d.BrightnessFraction

public Pixels2d.BrightnessFraction()
Method Detail

PI

public int PI(int index)
0 or 1, rounded

Overrides:
PI in class Pixels2d
See Also:
CS.PD(int)

PD

public double PD(int index)
Description copied from class: CS
Returns a param as a double. Same as P(paramIndex).D()

Why not just use P(paramIndex).D() instead? Its not just for convenience. Some CSs store their params as doubles or other primitives (or any type of Object, usually String or CS), and if you predict correctly how params are stored, PD(paramIndex) is much faster than P(paramIndex).D(), but BEWARE: if you predict incorrectly its a little slower. It calculates the same double either way.

For all paramIndex: P(paramIndex).D() == PD(paramIndex)

Overrides:
PD in class Pixels2d

P

public CS P(int index)
Description copied from class: DefaultCS
WARNING: if add CSs then delete them, they are still in the param[] array and can be returned in this function, despite them being out of valid range: index at least countP().

Overrides:
P in class Pixels2d
Parameters:
index - range 0 (or neg?) to countP()-1 inclusive
See Also:
CS.heap()

LForProxy

public java.lang.Object LForProxy(java.lang.Class c)
Description copied from class: DefaultCS
the default implementation can use many Class parameters. If you override but do not know what to return, return super.LForProxy(Class). All EXEC objects must override L(Class) the same way they override D(), reversed.

TODO: add ability to return List, or should I make every CS be a list?

Overrides:
LForProxy in class Pixels2d
See Also:
execProxy(), setExecProxy(CS)

LForProxy

public java.lang.Object LForProxy(int start,
                                  java.lang.Class c,
                                  int size)
Description copied from class: DefaultCS
by default, only works if castToThisType==CS[].class or is a String or List. TODO: add more types, including all types L(Class) can use.

Overrides:
LForProxy in class Pixels2d
See Also:
CS.L(int,Class,int)

brightnessFraction

public static float brightnessFraction(int rgb)
0.0 to 1.0, with 255*3+1 possible values


brightnessInt01

public static int brightnessInt01(int rgb)
0 or 1, rounded


keyword

public java.lang.String keyword()
Description copied from class: DefaultCS
For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.

Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add.

Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
Default: Returns class name, minus package name (and its dots), and change the first letter to lowercase.

For example, CS.MaxParams does not override keyword(), which returns "maxP".

Overrides:
keyword in class Pixels2d
See Also:
CS.parent(), CS.newInstance(), CS.name()

description

public java.lang.String description()
Description copied from class: CS
a short description of this CS, shorter than the javadoc, but long enough to tell what the params are for. Example use: in automatically generated webpages for CodeSimian. Example: "returns sum of all params" for Add.

Overrides:
description in class DefaultCS