source: java/main/src/main/java/com/framsticks/model/Model.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 2.0 KB
RevLine 
[79]1package com.framsticks.model;
2
[86]3import com.framsticks.params.annotations.FramsClassAnnotation;
4import com.framsticks.params.annotations.ParamAnnotation;
[79]5
6import java.util.ArrayList;
7import java.util.List;
8
9/**
10 * Author: Piotr Śniegowski
11 */
[86]12@FramsClassAnnotation(id = "m")
[90]13public class Model implements ModelComponent {
[79]14
[86]15        @ParamAnnotation(id = "se")
16        public double startingEnergy;
[79]17
[86]18        @ParamAnnotation
19        public double getEnerg0() { return startingEnergy; }
20        @ParamAnnotation
21        public void setEnerg0(double energ0) { startingEnergy = energ0; }
[79]22
[86]23
24        @ParamAnnotation(id = "Vstyle")
[79]25        public String visualizationStyle;
26
[86]27        @ParamAnnotation
[79]28        public final List<Part> parts = new ArrayList<Part>();
[86]29
30        @ParamAnnotation
[79]31        public final List<Joint> joints = new ArrayList<Joint>();
[86]32
[90]33        @ParamAnnotation(id = "neurodefs")
34        public final List<NeuroDefinition> neuroDefinitions = new ArrayList<NeuroDefinition>();
[79]35
[90]36        @ParamAnnotation(id = "neuroconns")
37        public final List<NeuroConnection> neuroConnections = new ArrayList<NeuroConnection>();
38
[102]39        /** Those methods accept doubles to keep consistency with Framsticks server.*/
[86]40        @ParamAnnotation
41        public double getNumparts() { return (double)parts.size(); }
42        @ParamAnnotation
43        public double getNumjoints() { return (double)joints.size(); }
44        @ParamAnnotation
[90]45        public double getNumneurons() { return (double)neuroDefinitions.size(); }
[79]46
47        //this is impossible to use, because numparts field is marked as readonly
[86]48        @ParamAnnotation
[100]49        public void setNumparts(double numparts) {}
[86]50        @ParamAnnotation
[100]51        public void setNumjoints(double numjoints) {}
[86]52        @ParamAnnotation
[100]53        public void setNumneurons(double numneurons) {}
[79]54
55        public List<Part> getParts() { return parts; }
56        public List<Joint> getJoints() { return joints; }
[90]57        public List<NeuroDefinition> getNeuroDefinitions() { return neuroDefinitions; }
58        public List<NeuroConnection> getNeuroConnections() { return neuroConnections; }
[79]59
[99]60        @Override
61        public String toString() {
62                return "Model{" + parts.size() + ":" + joints.size() + ":" + neuroDefinitions.size() + ":" + neuroConnections.size() + "}";
63
64        }
65
[79]66}
Note: See TracBrowser for help on using the repository browser.