Ignore:
Timestamp:
06/26/13 13:27:31 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGHTS:

  • use java annotations to mark classes and fields to be used when:
    • using java classes with ReflectionAccess? to represent remote objects with FramsClass? description found by "info ..." requests
    • to build up FramsClass? representation of objects not present at remote server
  • allow using primitive types (instead of wraping counterparts) in reflected classes
  • rework FramsClass? creation process (add FramsClassBuilder?)
  • add more tests

CHANGELOG:
Prepare model.World class.

Minor change.

Use primitive types for Genotype and Creature classes.

Use primitive types in model.Neuro* classes.

Use primitive types in model.Joint* classes.

Use primitive types in model.Part* classes.

Fix primitive values.

Extract FramsClassBuilder?.

Add tests of Model classes.

More fixes.

Refactorize out ParamCandidate?.

Several fixes.

Fix all regressions after introducing annotations.

Use annotations throughout the project.

Add exception classes.

Improve creation of FramsClass?.

More changes.

Many changes regarding annotations.

Annotate classes in com.framsticks.model package.

Remove manual FramsClass? constructor.

Construct FramsClass? for Creature. Add test.

Add default values to the ParamAnnotation?.

Add ParamBuilderTest? and ParamAnnotation?.

Add FramsClassAnnotation?.

Location:
java/main/src/main/java/com/framsticks/model
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/model/BaseJoint.java

    r84 r86  
    11package com.framsticks.model;
    22
     3import com.framsticks.params.annotations.ParamAnnotation;
    34import com.framsticks.util.math.Point3d;
    45
     
    89public class BaseJoint {
    910
    10         /** stif */
    11         public Double stiffness;
    12         public Double getStif() { return stiffness; }
    13         public void setStif(Double stif) { stiffness = stif; }
     11        @ParamAnnotation(id = "stif")
     12        public double stiffness;
    1413
    15         /** rotstif */
    16         public Double rotationStiffness;
    17         public Double getRotstif() { return rotationStiffness; }
    18         public void setRotstif(Double rotstif) { rotationStiffness = rotstif; }
     14        @ParamAnnotation(id = "rotstif")
     15        public double rotationStiffness;
    1916
    20         /** rx, ry, rz*/
     17        @ParamAnnotation
    2118        public double rx, ry, rz;
    2219
     
    2421        public void setRotation(Point3d r) { rx = r.x; ry = r.y; rz = r.z; }
    2522
    26         /** dx, dy, dz*/
     23        @ParamAnnotation
    2724        public double dx, dy, dz;
    2825
  • java/main/src/main/java/com/framsticks/model/BaseNeuro.java

    r78 r86  
    11package com.framsticks.model;
     2
     3import com.framsticks.params.annotations.ParamAnnotation;
    24
    35/**
     
    57 */
    68public class BaseNeuro {
    7         /** inputCount */
    8         public Integer inputCount;
    9         public Integer getGetInputCount() { return inputCount; }
    10         public void setGetInputCount(Integer getInputCount) { inputCount = getInputCount; }
     9
     10        @ParamAnnotation(id = "getInputCount")
     11        public int inputCount;
    1112
    1213
  • java/main/src/main/java/com/framsticks/model/BasePart.java

    r84 r86  
    11package com.framsticks.model;
    22
     3import com.framsticks.params.annotations.ParamAnnotation;
    34import com.framsticks.util.math.Orientation;
    45import com.framsticks.util.math.Point3d;
     
    89 */
    910public class BasePart {
    10         /** x, y, z */
     11
     12        @ParamAnnotation
    1113        public double x, y, z;
    1214
     
    1416        public void setPosition(Point3d p) { x = p.x; y = p.y; z = p.z; }
    1517
    16         /** m */
    17         public Double mass = 0.0;
    18         public Double getM() { return mass; }
    19         public void setM(Double m) { mass = m; }
     18        @ParamAnnotation(id = "m")
     19        public double mass = 0.0;
    2020
    21         /** s */
    22         public Double size = 0.0;
    23         public Double getS() { return size; }
    24         public void setS(Double s) { size = s; }
     21        @ParamAnnotation(id = "s")
     22        public double size = 0.0;
    2523
    26         /** fr */
    27         public Double friction;
    28         public Double getFr() { return friction; }
    29         public void setFr(Double fr) { friction = fr; }
     24        @ParamAnnotation(id = "fr")
     25        public double friction;
    3026
    31 
     27        @ParamAnnotation
    3228        public double oxx, oxy, oxz, oyx, oyy, oyz, ozx, ozy, ozz;
    3329
  • java/main/src/main/java/com/framsticks/model/Creature.java

    r84 r86  
    11package com.framsticks.model;
    22
    3 import com.framsticks.params.FramsClass;
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    45import com.framsticks.util.math.Point3d;
    56
     
    78import java.util.List;
    89
     10@FramsClassAnnotation
    911public class Creature {
     12
     13        @ParamAnnotation
    1014        public String name;
    1115
     16        @ParamAnnotation
    1217        public String genotype;
    1318
     19        @ParamAnnotation
    1420        public String info;
    1521
     22        @ParamAnnotation
    1623        public Object group;
    1724
    18         public Integer generation;
    19         public Integer getGnum() { return generation; }
    20         public void setGnum(Integer gnum) { generation = gnum; }
     25        @ParamAnnotation(id = "gnum")
     26        public int generation;
    2127
    22         public Integer buildProblems;
    23         public Integer getBuildproblems() { return buildProblems; }
    24         public void setBuildproblems(Integer buildproblems) { buildProblems = buildproblems; }
     28        @ParamAnnotation(id = "buildproblems")
     29        public int buildProblems;
    2530
    26         public Double startingEnergy;
    27         public Double getEnerg0() { return startingEnergy; }
    28         public void setEnerg0(Double energ0) { startingEnergy = energ0; }
     31        @ParamAnnotation(id = "energ0")
     32        public double startingEnergy;
    2933
    30         public Double idlePowerConsumption;
    31         public Double getIdleen() { return idlePowerConsumption; }
    32         public void setIdleen(Double idleen) { idlePowerConsumption = idleen; }
     34        @ParamAnnotation(id = "idleen")
     35        public double idlePowerConsumption;
    3336
    34         public Double energy;
     37        @ParamAnnotation
     38        public double energy;
    3539
    36         public Double energyIncome;
    37         public Double getEnergy_p() { return energyIncome; }
    38         public void setEnergy_p(Double energy_p) { energyIncome = energy_p; }
     40        @ParamAnnotation(id = "energy_p")
     41        public double energyIncome;
    3942
    40         public Double energyCosts;
    41         public Double getEnergy_m() { return energyCosts; }
    42         public void setEnergy_m(Double energy_m) { energyCosts = energy_m; }
     43        @ParamAnnotation(id = "energy_m")
     44        public double energyCosts;
    4345
    44         public Double energyBalance;
    45         public Double getEnergy_b() { return energyBalance; }
    46         public void setEnergy_b(Double energy_b) { energyBalance = energy_b; }
     46        @ParamAnnotation(id = "energy_b")
     47        public double energyBalance;
    4748
    48         public Integer performanceCalculation;
    49         public Integer getPerf() { return performanceCalculation; }
    50         public void setPerf(Integer perf) { performanceCalculation = perf; }
     49        @ParamAnnotation(id = "perf")
     50        public int performanceCalculation;
    5151
    52         public Boolean neuralNetworkEnabled;
     52        @ParamAnnotation(id = "nnenabled")
     53        public boolean neuralNetworkEnabled;
    5354
    54         public Boolean getNnenabled() { return neuralNetworkEnabled; }
    55         public void setNnenabled(Boolean nnenabled) { neuralNetworkEnabled = nnenabled; }
     55        @ParamAnnotation(id = "bodysim")
     56        public boolean bodySimulation;
    5657
    57         public Boolean bodySimulation;
    58         public Boolean getBodysim() { return bodySimulation; }
    59         public void setBodysim(Boolean bodysim) { bodySimulation = bodysim; }
     58        @ParamAnnotation(id = "selfcol")
     59        public boolean selfCollisions;
    6060
    61         public Boolean selfCollisions;
    62         public Boolean getSelfcol() { return selfCollisions; }
    63         public void setSelfcol(Boolean selfcol) { selfCollisions = selfcol; }
     61        @ParamAnnotation(id = "lifespan")
     62        public int lifeSpan;
    6463
    65         public Integer lifeSpan;
    66         public Integer getLifespan() { return lifeSpan; }
    67         public void setLifespan(Integer lifespan) { lifeSpan = lifespan; }
     64        @ParamAnnotation
     65        public double distance;
    6866
    69         public Double distance;
     67        @ParamAnnotation(id = "c_velocity")
     68        public double currentVelocity;
    7069
    71         public Double currentVelocity;
    72         public Double getC_velocity() { return currentVelocity; }
    73         public void setC_velocity(Double c_velocity) { currentVelocity = c_velocity; }
     70        @ParamAnnotation(id = "c_vertvelocity")
     71        public double currentVerticalVelocity;
    7472
    75         public Double currentVerticalVelocity;
    76         public Double getC_vertvelocity() { return currentVerticalVelocity; }
    77         public void setC_vertvelocity(Double c_vertvelocity) { currentVerticalVelocity = c_vertvelocity; }
     73        @ParamAnnotation(id = "c_vertpos")
     74        public double currentVerticalPosition;
    7875
    79         public Double currentVerticalPosition;
    80         public Double getC_vertpos() { return currentVerticalPosition; }
    81         public void setC_vertpos(Double c_vertpos) { currentVerticalPosition = c_vertpos; }
     76        @ParamAnnotation(id = "velocity")
     77        public double averageVelocity;
    8278
    83         public Double averageVelocity;
    84         public Double getVelocity() { return averageVelocity; }
    85         public void setVelocity(Double c_velocity) { averageVelocity = c_velocity; }
     79        @ParamAnnotation(id = "vertvel")
     80        public double averageVerticalVelocity;
    8681
    87         public Double averageVerticalVelocity;
    88         public Double getVertvel() { return averageVerticalVelocity; }
    89         public void setVertvel(Double c_vertvelocity) { averageVerticalVelocity = c_vertvelocity; }
     82        @ParamAnnotation(id = "vertpos")
     83        public double averageVerticalPosition;
    9084
    91         public Double averageVerticalPosition;
    92         public Double getVertpos() { return averageVerticalPosition; }
    93         public void setVertpos(Double c_vertpos) { averageVerticalPosition = c_vertpos; }
    94 
    95         /** pos_x, pos_y, pos_z*/
     85        @ParamAnnotation
    9686        public double pos_x, pos_y, pos_z;
    9787
     
    9989        public void setPosition(Point3d pos) { pos_x = pos.x; pos_y = pos.y; pos_z = pos.z; }
    10090
     91        @ParamAnnotation
    10192        public double size_x, size_y, size_z;
    10293
     
    10697
    10798        /** center_x, center_y, center_z*/
     99        @ParamAnnotation
    108100        public double center_x, center_y, center_z;
    109101
     
    111103        public void setCenter(Point3d center) { center_x = center.x; center_y = center.y; center_z = center.z; }
    112104
    113         public Integer getNumparts() { return parts.size(); }
    114         public void setNumparts(Integer numparts) { }
     105        @ParamAnnotation
     106        public int getNumparts() { return parts.size(); }
     107        @ParamAnnotation
     108        public void setNumparts(int numparts) { }
    115109
    116         public Integer getNumjoints() { return joints.size(); }
    117         public void setNumjoints(Integer numjoints) { }
     110        @ParamAnnotation
     111        public int getNumjoints() { return joints.size(); }
     112        @ParamAnnotation
     113        public void setNumjoints(int numjoints) { }
    118114
    119         public Integer getNumneurons() { return neurons.size(); }
    120         public void setNumneurons(Integer numneurons) { }
     115        @ParamAnnotation
     116        public int getNumneurons() { return neurons.size(); }
     117        @ParamAnnotation
     118        public void setNumneurons(int numneurons) { }
    121119
    122120        public Object[] userFields = new Object[3];
     121        @ParamAnnotation
    123122        public Object getUser1() { return userFields[0]; }
     123        @ParamAnnotation
    124124        public void setUser1(Object user1) { userFields[0] = user1; }
    125125
     126        @ParamAnnotation
    126127        public Object getUser2() { return userFields[1]; }
     128        @ParamAnnotation
    127129        public void setUser2(Object user2) { userFields[1] = user2; }
    128130
     131        @ParamAnnotation
    129132        public Object getUser3() { return userFields[2]; }
     133        @ParamAnnotation
    130134        public void setUser3(Object user3) { userFields[2] = user3; }
    131135
    132         public Integer selfCollisionMask;
    133         public Integer getSelfmask() { return selfCollisionMask; }
    134         public void setSelfmask(Integer selfmask) { selfCollisionMask = selfmask; }
     136        @ParamAnnotation(id = "selfmask")
     137        public int selfCollisionMask;
    135138
    136         public Integer otherCollisionMask;
    137         public Integer getOthermask() { return otherCollisionMask; }
    138         public void setOthermask(Integer othermask) { otherCollisionMask = othermask; }
     139        @ParamAnnotation(id = "othermask")
     140        public int otherCollisionMask;
    139141
     142        @ParamAnnotation(id = "selfcolstate")
     143        public boolean selfCollisionsState;
     144
     145        @ParamAnnotation
    140146        public String uid;
    141147
    142         public Integer index;
     148        @ParamAnnotation
     149        public int index;
    143150
     151        @ParamAnnotation
    144152        public final List<Part> parts = new ArrayList<Part>();
     153        @ParamAnnotation
    145154        public final List<Joint> joints = new ArrayList<Joint>();
     155        @ParamAnnotation
    146156        public final List<NeuroDef> neurodefs = new ArrayList<NeuroDef>();
    147157
     
    150160        public final List<NeuroDef> getNeuroDefs() { return neurodefs; }
    151161
     162        @ParamAnnotation
    152163        public final List<MechPart> mechparts = new ArrayList<MechPart>();
     164        @ParamAnnotation
    153165        public final List<MechJoint> mechjoints = new ArrayList<MechJoint>();
     166        @ParamAnnotation
    154167        public final List<Neuro> neurons = new ArrayList<Neuro>();
    155168
     
    158171        public final List<Neuro> getNeurons() { return neurons; }
    159172
    160 
    161 
    162         public static void constructFramsClass(FramsClass.Constructor constructor) {
    163                 constructor.field("name");
    164                 constructor.field("parts");
    165                 constructor.field("joints");
    166                 constructor.field("neurodefs");
    167                 constructor.field("mechparts");
    168                 constructor.field("mechjoints");
    169                 constructor.field("neurons");
    170         }
    171 
    172173}
  • java/main/src/main/java/com/framsticks/model/Genotype.java

    r84 r86  
    11package com.framsticks.model;
     2
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    25
    36
    47// import org.apache.log4j.Logger;
    58
     9@FramsClassAnnotation
    610public class Genotype extends Model {
    711        // private final static Logger log = Logger.getLogger(Genotype.class);
    812
     13        @ParamAnnotation
    914        public String name;
     15
     16        @ParamAnnotation
    1017        public String genotype;
     18
     19        @ParamAnnotation
    1120        public String info;
    1221
    13         public Double similarity;
    14         public Double getSimi() { return similarity; }
    15         public void setSimi(Double simi) { similarity = simi; }
     22        @ParamAnnotation(id = "simi")
     23        public double similarity;
    1624
    17         public Double brainConnections;
    18         public Double getNumconnections() { return brainConnections; }
    19         public void setNumconnections(Double numconnections) { brainConnections = numconnections; }
     25        @ParamAnnotation(id = "numconnections")
     26        public double brainConnections;
    2027
    21     public Integer ordinalNumber;
    22         public Integer getNum() { return ordinalNumber; }
    23         public void setNum(Integer num) { ordinalNumber = num; }
     28        @ParamAnnotation(id = "num")
     29        public int ordinalNumber;
    2430
    25     public Integer generation;
    26         public Integer getGnum() { return generation; }
    27         public void setGnum(Integer gnum) { generation = gnum; }
     31        @ParamAnnotation(id = "gnum")
     32        public int generation;
    2833
    29         public Integer instances;
     34        @ParamAnnotation
     35        public int instances;
    3036
    31         public Integer lifeSpan;
    32         public Integer getLifespan() { return lifeSpan; }
    33         public void setLifespan(Integer lifespan) { lifeSpan = lifespan; }
     37        @ParamAnnotation(id = "lifespan")
     38        public double lifeSpan;
    3439
    35         public Double velocity;
    36         public Double distance;
     40        @ParamAnnotation
     41        public double velocity;
    3742
    38         public Double verticalVelocity;
    39         public Double getVertvel() { return verticalVelocity; }
    40         public void setVertvel(Double vertvel) { verticalVelocity = vertvel; }
     43        @ParamAnnotation
     44        public double distance;
    4145
    42         public Double verticalPosition;
    43         public Double getVertpos() { return verticalPosition; }
    44         public void setVertpos(Double vertpos) { verticalPosition = vertpos; }
     46        @ParamAnnotation(id = "vertvel")
     47        public double verticalVelocity;
    4548
    46         public Double fitness;
    47         public Double getFit() { return fitness; }
    48         public void setFit(Double fit) { fitness = fit; }
     49        @ParamAnnotation(id = "vertpos")
     50        public double verticalPosition;
    4951
    50         public Double finalFitness;
    51         public Double getFit2() { return finalFitness; }
    52         public void setFit2(Double fit2) { finalFitness = fit2; }
     52        @ParamAnnotation(id = "fit")
     53        public double fitness;
    5354
     55        @ParamAnnotation(id = "fit2")
     56        public double finalFitness;
     57
     58        @ParamAnnotation(id = "f0genotype")
    5459        public String genotypeInF0;
    55         public String getF0genotype() { return genotypeInF0; }
    56         public void setF0genotype(String f0genotype) { genotypeInF0 = f0genotype; }
    5760
     61        @ParamAnnotation(id = "convtrace1")
    5862        public String conversionBacktrace;
    59         public String getConvtrace1() { return conversionBacktrace; }
    60         public void setConvtrace1(String convtrace1) { conversionBacktrace = convtrace1; }
     63
     64        @ParamAnnotation
     65        public boolean isValid;
    6166
    6267        public Object[] userFields = new Object[3];
     68        @ParamAnnotation
    6369        public Object getUser1() { return userFields[0]; }
     70        @ParamAnnotation
    6471        public void setUser1(Object user1) { userFields[0] = user1; }
    6572
     73        @ParamAnnotation
    6674        public Object getUser2() { return userFields[1]; }
     75        @ParamAnnotation
    6776        public void setUser2(Object user2) { userFields[1] = user2; }
    6877
     78        @ParamAnnotation
    6979        public Object getUser3() { return userFields[2]; }
     80        @ParamAnnotation
    7081        public void setUser3(Object user3) { userFields[2] = user3; }
    7182
     83        @ParamAnnotation
    7284        public String uid;
     85
     86        @ParamAnnotation
     87        public double getStrsiz() { return getNumparts(); }
     88        @ParamAnnotation
     89        public void setStrsiz(double strsiz) { setNumparts(strsiz); }
     90
     91
     92        @ParamAnnotation
     93        public double getStrjoints() { return getNumjoints(); }
     94        @ParamAnnotation
     95        public void setStrjoints(double strjoints) { setNumjoints(strjoints); }
     96
     97
     98        @ParamAnnotation
     99        public double getNnsiz() { return getNumneurons(); }
     100        @ParamAnnotation
     101        public void setNnsiz(double nnsiz) { setNumneurons(nnsiz); }
     102
     103
     104        @ParamAnnotation
     105        public double getNncon() { return brainConnections; }
     106        @ParamAnnotation
     107        public void setNncon(double nncon) { this.brainConnections = nncon; }
     108
     109        @ParamAnnotation
     110        public int getPopsiz() { return instances; }
     111        @ParamAnnotation
     112        public void setPopsiz(int popsiz) { this.instances = popsiz; }
     113
    73114
    74115}
  • java/main/src/main/java/com/framsticks/model/Joint.java

    r84 r86  
    11package com.framsticks.model;
     2
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    25
    36/**
     
    69 * All accessors are used by ReflectionAccess.
    710 */
     11@FramsClassAnnotation(id = "j")
    812public class Joint extends BaseJoint {
    913
    10         /** i */
     14        @ParamAnnotation(id = "i")
    1115        public String info;
    12         public String getI() { return info; }
    13         public void setI(String i) { info = i; }
    1416
    15         /** p1 */
    16         public Integer part1;
    17         public void setP1(Integer p1) { part1 = p1; }
    18         public Integer getP1() { return part1; }
     17        @ParamAnnotation(id = "p1")
     18        public int part1;
    1919
    20         /** p2 */
    21         public Integer part2;
    22         public void setP2(Integer p2) { part2 = p2; }
    23         public Integer getP2() { return part2; }
     20        @ParamAnnotation(id = "p2")
     21        public int part2;
    2422
     23        @ParamAnnotation(id = "stam")
     24        public double stamina;
    2525
    26         /** stam */
    27         public Double stamina;
    28         public Double getStam() { return stamina; }
    29         public void setStam(Double stam) { stamina = stam; }
     26        @ParamAnnotation(id = "Vstyle")
     27        public String visualizationStyle;
    3028
     29        @ParamAnnotation
     30        public double vr, vg, vb;
    3131
    32         /** Vstyle */
    33         public String visualizationStyle;
    34         public String getVstyle() { return visualizationStyle; }
    35         public void setVstyle(String Vstyle) { visualizationStyle = Vstyle; }
    3632}
  • java/main/src/main/java/com/framsticks/model/MechJoint.java

    r84 r86  
    11package com.framsticks.model;
     2
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    25
    36/**
    47 * @author Piotr Sniegowski
    58 */
     9@FramsClassAnnotation
    610public class MechJoint extends BaseJoint {
    711
    8         /** stress */
    9         public Double stress;
    10         public Double getStress() { return stress; }
    11         public void setStress(Double stress) { this.stress = stress; }
     12        @ParamAnnotation
     13        public double stress;
    1214
    13         /** rotstress */
    14         public Double rotationStress;
    15         public Double getRotstress() { return rotationStress; }
    16         public void setRotstress(Double rotstress) { rotationStress = rotstress; }
     15        @ParamAnnotation(id = "rotstress")
     16        public double rotationStress;
    1717}
  • java/main/src/main/java/com/framsticks/model/MechPart.java

    r84 r86  
    11package com.framsticks.model;
    22
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    35import com.framsticks.util.math.Point3d;
    46
    57/*
    68 */
     9@FramsClassAnnotation
    710public class MechPart extends BasePart {
    811
    9         /** vol */
    10         public Double volume = 0.0;
    11         public Double getVol() { return volume; }
    12         public void setVol(Double vol) { volume = vol; }
     12        @ParamAnnotation(id = "vol")
     13        public double volume = 0.0;
    1314
    14         /** vx, vy, vz*/
     15        @ParamAnnotation
    1516        public double vx, vy, vz;
    1617
  • java/main/src/main/java/com/framsticks/model/Model.java

    r84 r86  
    11package com.framsticks.model;
    22
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    35import com.framsticks.util.lang.Casting;
    46import com.framsticks.util.lang.Containers;
     
    1416 * Author: Piotr Śniegowski
    1517 */
     18@FramsClassAnnotation(id = "m")
    1619public class Model {
    1720
    1821        private final static Logger log = Logger.getLogger(Model.class);
    1922
    20         public Double startingEnergy;
    21         public Double getEnerg0() { return startingEnergy; }
    22         public void setEnerg0(Double energ0) { startingEnergy = energ0; }
     23        @ParamAnnotation(id = "se")
     24        public double startingEnergy;
    2325
    24         public Double getSe() { return startingEnergy; }
    25         public void setSe(Double se) { startingEnergy = se; }
     26        @ParamAnnotation
     27        public double getEnerg0() { return startingEnergy; }
     28        @ParamAnnotation
     29        public void setEnerg0(double energ0) { startingEnergy = energ0; }
    2630
    27         /** Vstyle */
     31
     32        @ParamAnnotation(id = "Vstyle")
    2833        public String visualizationStyle;
    29         public String getVstyle() { return visualizationStyle; }
    30         public void setVstyle(String Vstyle) { visualizationStyle = Vstyle; }
    3134
     35        @ParamAnnotation
    3236        public final List<Part> parts = new ArrayList<Part>();
     37
     38        @ParamAnnotation
    3339        public final List<Joint> joints = new ArrayList<Joint>();
     40
     41        @ParamAnnotation
    3442        public final List<NeuroDef> neurodefs = new ArrayList<NeuroDef>();
    3543
    36         public Double getNumparts() { return (double)parts.size(); }
    37         public Double getNumjoints() { return (double)joints.size(); }
    38         public Double getNumneurons() { return (double)neurodefs.size(); }
     44        //TODO: why those methods returns and accepts doubles?
     45        @ParamAnnotation
     46        public double getNumparts() { return (double)parts.size(); }
     47        @ParamAnnotation
     48        public double getNumjoints() { return (double)joints.size(); }
     49        @ParamAnnotation
     50        public double getNumneurons() { return (double)neurodefs.size(); }
    3951
    4052        //this is impossible to use, because numparts field is marked as readonly
    41         public void setNumparts(Double numparts) { Containers.resizeList(parts, (int) (double) numparts); }
    42         public void setNumjoints(Double numjoints) { Containers.resizeList(joints, (int)(double)numjoints); }
    43         public void setNumneurons(Double numneurons) { Containers.resizeList(neurodefs, (int)(double)numneurons); }
     53        @ParamAnnotation
     54        public void setNumparts(double numparts) { Containers.resizeList(parts, (int) (double) numparts); }
     55        @ParamAnnotation
     56        public void setNumjoints(double numjoints) { Containers.resizeList(joints, (int)(double)numjoints); }
     57        @ParamAnnotation
     58        public void setNumneurons(double numneurons) { Containers.resizeList(neurodefs, (int)(double)numneurons); }
    4459
    4560        public List<Part> getParts() { return parts; }
     
    7893                for (Joint j : f0Genotype.getJoints()) {
    7994                        /** based on c++ Joint::attachToParts*/
    80                         Part p1 = f0Genotype.parts.get(j.getP1());
    81                         Part p2 = f0Genotype.parts.get(j.getP2());
     95                        Part p1 = f0Genotype.parts.get(j.part1);
     96                        Part p2 = f0Genotype.parts.get(j.part2);
    8297                        assert p1 != null && p2 != null;
    8398                        Orientation o = new Orientation().rotate(j.getRotation());
  • java/main/src/main/java/com/framsticks/model/Neuro.java

    r84 r86  
    11package com.framsticks.model;
    22
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    35import com.framsticks.util.math.Point3d;
    46
     
    68 * @author Piotr Sniegowski
    79 */
     10@FramsClassAnnotation
    811public class Neuro extends BaseNeuro {
    912
    10         public Integer channelCount;
     13        @ParamAnnotation
     14        public int channelCount;
    1115
    12         public Double inputSum;
     16        @ParamAnnotation
     17        public double inputSum;
    1318
    14         public Double weightedInputSum;
     19        @ParamAnnotation
     20        public double weightedInputSum;
    1521
    16         public Double state;
     22        @ParamAnnotation
     23        public double state;
    1724
    18         public Double currentState;
    19         public Double getCurrState() { return currentState; }
    20         public void setCurrState(Double currState) { currentState = currState; }
     25        @ParamAnnotation(id = "currState")
     26        public double currentState;
    2127
    22         public Boolean hold;
     28        @ParamAnnotation
     29        public boolean hold;
    2330
     31        @ParamAnnotation
    2432        public double position_x, position_y, position_z;
    2533
  • java/main/src/main/java/com/framsticks/model/NeuroDef.java

    r78 r86  
    11package com.framsticks.model;
     2
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
    25
    36/**
    47 * @author Piotr Sniegowski
    58 */
     9@FramsClassAnnotation(id = "n")
    610public class NeuroDef extends BaseNeuro {
    711
    8         /** p */
    9         public Integer part;
     12        @ParamAnnotation(id = "p")
     13        public int part;
    1014
    11         /** j */
    12         public Integer joint;
     15        @ParamAnnotation(id = "j")
     16        public int joint;
    1317
    14         /** d */
     18        @ParamAnnotation(id = "d")
    1519        public String details;
    1620
    17         /** i */
     21        @ParamAnnotation(id = "i")
    1822        public String info;
    1923
    20         /** Vstyle */
     24        @ParamAnnotation(id = "Vstyle")
    2125        public String visualizationStyle;
    2226
    23         public Integer getP() { return part; }
    24         public void setP(Integer p) { part = p; }
    25 
    26         public Integer getJ() { return joint; }
    27         public void setJ(Integer j) { joint = j; }
    28 
    29         public String getD() { return details; }
    30         public void setD(String d) { details = d; }
    31 
    32         public String getI() { return info; }
    33         public void setI(String i) { info = i; }
    34 
    35         public String getVstyle() { return visualizationStyle; }
    36         public void setVstyle(String Vstyle) { visualizationStyle = Vstyle; }
    37 
    38 
    39 
    4027}
  • java/main/src/main/java/com/framsticks/model/Package.java

    r84 r86  
    88public class Package {
    99        public static void register(Registry registry) {
    10                 registry.registerReflectedClass("MechPart", null, "com.framsticks.model.MechPart");
    11                 registry.registerReflectedClass("Joint", "j", "com.framsticks.model.Joint");
    12                 registry.registerReflectedClass("MechJoint", null, "com.framsticks.model.MechJoint");
    13                 registry.registerReflectedClass("Neuro", null, "com.framsticks.model.Neuro");
    14                 registry.registerReflectedClass("NeuroDef", "n", "com.framsticks.model.NeuroDef");
    15                 registry.registerReflectedClass("Part", "p", "com.framsticks.model.Part");
    16                 registry.registerReflectedClass("Model", "m", "com.framsticks.model.Model");
    17                 registry.registerReflectedClass("Creature", null, "com.framsticks.model.Creature");
    18                 registry.registerReflectedClass("Genotype", null, "com.framsticks.model.Genotype");
    19 
     10                registry
     11                        .register(MechPart.class)
     12                        .register(Joint.class)
     13                        .register(MechJoint.class)
     14                        .register(Neuro.class)
     15                        .register(NeuroDef.class)
     16                        .register(Part.class)
     17                        .register(Model.class)
     18                        .register(Creature.class)
     19                        .register(Genotype.class)
     20                        .register(World.class);
    2021        }
    2122}
  • java/main/src/main/java/com/framsticks/model/Part.java

    r84 r86  
    22
    33
     4import com.framsticks.params.annotations.FramsClassAnnotation;
     5import com.framsticks.params.annotations.ParamAnnotation;
    46import com.framsticks.util.math.Point3d;
    57
     
    79 * The Class Part.
    810 */
     11@FramsClassAnnotation(id = "p")
    912public class Part extends BasePart {
    1013
    11         /** rx, ry, rz*/
     14        @ParamAnnotation
    1215        public double rx, ry, rz;
     16
    1317
    1418        public Point3d getRotation() { return new Point3d(rx, ry, rz); }
    1519        public void setRotation(Point3d r) { rx = r.x; ry = r.y; rz = r.z; }
    1620
    17         /** dn */
    18         public Double density;
     21        @ParamAnnotation(id = "dn")
     22        public double density;
    1923
    20         /** ing */
    21         public Double ingestion;
     24        @ParamAnnotation(id = "ing")
     25        public double ingestion;
    2226
    23         /** as */
    24         public Double assimilation;
     27        @ParamAnnotation(id = "as")
     28        public double assimilation;
    2529
    26         /** i */
     30        @ParamAnnotation(id = "i")
    2731        public String info;
    2832
    29         /** Vstyle */
     33        @ParamAnnotation(id = "Vstyle")
    3034        public String visualizationStyle;
    3135
    32         public Double getDn() { return density; }
    33         public void setDn(Double dn) { density = dn; }
     36        @ParamAnnotation(id = "vs")
     37        public double visualThickness;
    3438
    35         public Double getIng() { return ingestion; }
    36         public void setIng(Double ing) { ingestion = ing; }
    37 
    38         public Double getAs() { return assimilation; }
    39         public void setAs(Double as) { assimilation = as; }
    40 
    41         public String getI() { return info; }
    42         public void setI(String i) { info = i; }
    43 
    44         public String getVstyle() { return visualizationStyle; }
    45         public void setVstyle(String vstyle) { visualizationStyle = vstyle; }
     39        @ParamAnnotation
     40        public double vr, vg, vb;
    4641
    4742}
  • java/main/src/main/java/com/framsticks/model/World.java

    r77 r86  
    11package com.framsticks.model;
    22
     3import com.framsticks.params.annotations.FramsClassAnnotation;
     4import com.framsticks.params.annotations.ParamAnnotation;
     5
     6@FramsClassAnnotation
    37public class World {
    48
    5         public Integer wrldbnd;
    6         public Double wrldwat;
    7         public String faces;
     9        @ParamAnnotation(id = "wrldbnd")
     10        public int boundaries;
     11
     12        @ParamAnnotation(id = "wrldwat")
     13        public double waterLevel;
    814
    915
     16        @ParamAnnotation(id = "wrldtyp")
     17        public int type;
     18
     19        @ParamAnnotation(id = "wrldsiz")
     20        public double size;
     21
     22        @ParamAnnotation(id = "wrldmap")
     23        public String map;
     24
     25        @ParamAnnotation(id = "wrldg")
     26        public double gravity;
     27
     28        @ParamAnnotation(id = "simtype")
     29        public int simulationEngine;
     30
     31        @ParamAnnotation(id = "nnspeed")
     32        public double neuralNetworkSimulationSpeed;
     33
     34        @ParamAnnotation
     35        public String faces;
    1036        /*
    1137        public static ReflectionAccess createReflection()
Note: See TracChangeset for help on using the changeset viewer.