package cactusServer.entities;
import org.ntlab.radishforandroidstudio.framework.model3D.Position3D;
import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D;
import org.ntlab.radishforandroidstudio.framework.physics.AngularVelocity3D;
import org.ntlab.radishforandroidstudio.framework.physics.Velocity3D;
//import framework.model3D.Position3D;
//import framework.physics.AngularVelocity3D;
//import framework.physics.Velocity3D;
import net.arnx.jsonic.JSONHint;
public class Object extends Entity3D {
private Position3D position;
private Velocity3D velocity;
private AngularVelocity3D angularVelocity;
private Quaternion3D angle;
private Attribute attribute;
private String model;
@JSONHint(ignore = true)
public static final int UNIQUE_ID_LENGTH = 12;
@SuppressWarnings("unused")
private Object() {
// JSONDecode時の呼び出し用
}
public Object(Position3D position, Velocity3D velocity, AngularVelocity3D angularVelocity, Quaternion3D angle,
Attribute attribute, String model) {
setPosition(position);
setVelocity(velocity);
setAngularVelocity(angularVelocity);
setAngle(angle);
setAttribute(attribute);
setModel(model);
}
public Position3D getPosition() {
return position;
}
public Velocity3D getVelocity() {
return velocity;
}
public AngularVelocity3D getAngularVelocity() {
return angularVelocity;
}
public Quaternion3D getAngle() {
return angle;
}
public Attribute getAttribute() {
return attribute;
}
public String getModel() {
return model;
}
public void setPosition(Position3D position) {
this.position = position;
}
public void setVelocity(Velocity3D velocity) {
this.velocity = velocity;
}
public void setAngularVelocity(AngularVelocity3D angularVelocity) {
this.angularVelocity = angularVelocity;
}
public void setAngle(Quaternion3D angle) {
this.angle = angle;
}
public void setAttribute(Attribute attribute) {
this.attribute = attribute;
}
public void setModel(String model) {
this.model = model;
}
public static class Attribute {
private boolean moveable; // 可動
private double cof; // 摩擦係数
public Attribute(boolean moveable, double cof) {
setMoveable(moveable);
setCof(cof);
}
public boolean isMoveable() {
return moveable;
}
public double getCof() {
return cof;
}
public void setMoveable(boolean moveable) {
this.moveable = moveable;
}
public void setCof(double cof) {
this.cof = cof;
}
}
}