
com.aparapi.examples.oopnbody.Body Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aparapi-examples Show documentation
Show all versions of aparapi-examples Show documentation
A collection of examples for the aparapi framework.
The newest version!
/**
* Copyright (c) 2016 - 2018 Syncleus, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* This product currently only contains code developed by authors
* of specific components, as identified by the source code files.
*
* Since product implements StAX API, it has dependencies to StAX API
* classes.
*
* For additional credits (generally to people who reported problems)
* see CREDITS file.
*/
package com.aparapi.examples.oopnbody;
/**
* Body class.
*
* @author freemo
* @version $Id: $Id
*/
public final class Body{
/** Constant allBodies
*/
public static Body[] allBodies;
final private boolean isHeavy;
/**
* Constructor for Body.
*
* @param x a float.
* @param y a float.
* @param z a float.
* @param _m a float.
* @param isHeavy a boolean.
*/
public Body(float x, float y, float z, float _m, boolean isHeavy) {
this.x = x;
this.y = y;
this.z = z;
m = _m;
this.isHeavy = isHeavy;
}
float x, y, z, m, vx, vy, vz;
/**
* isHeavy.
*
* @return a boolean.
*/
public boolean isHeavy() {
return isHeavy;
}
/**
* Getter for the field x
.
*
* @return a float.
*/
public float getX() {
return x;
}
/**
* Getter for the field y
.
*
* @return a float.
*/
public float getY() {
return y;
}
/**
* Getter for the field z
.
*
* @return a float.
*/
public float getZ() {
return z;
}
/**
* getRadius.
*
* @return a float.
*/
public float getRadius() {
return (float) Math.sqrt(x * x + y * y + z* z);
}
/**
* getTheta.
*
* @return a float.
*/
public float getTheta() {
return (float) Math.acos(z / getRadius());
}
/**
* getPhi.
*
* @return a float.
*/
public float getPhi() {
return (float) Math.atan(y / x);
}
/**
* Getter for the field vx
.
*
* @return a float.
*/
public float getVx() {
return vx;
}
/**
* Getter for the field vy
.
*
* @return a float.
*/
public float getVy() {
return vy;
}
/**
* Getter for the field vz
.
*
* @return a float.
*/
public float getVz() {
return vz;
}
/**
* Getter for the field m
.
*
* @return a float.
*/
public float getM() {
return m;
}
/**
* Setter for the field m
.
*
* @param _m a float.
*/
public void setM(float _m) {
m = _m;
}
/**
* Setter for the field x
.
*
* @param _x a float.
*/
public void setX(float _x) {
x = _x;
}
/**
* Setter for the field y
.
*
* @param _y a float.
*/
public void setY(float _y) {
y = _y;
}
/**
* Setter for the field z
.
*
* @param _z a float.
*/
public void setZ(float _z) {
z = _z;
}
/**
* setRadius.
*
* @param radius a float.
*/
public void setRadius(float radius) {
final float theta = getTheta();
final float phi = getPhi();
x = (float) (radius * Math.cos(theta) * Math.sin(phi));
y = (float) (radius * Math.sin(theta) * Math.sin(phi));
z = (float) (radius * Math.cos(phi));
}
/**
* setTheta.
*
* @param theta a float.
*/
public void setTheta(float theta) {
final float radius = getRadius();
final float phi = getPhi();
x = (float) (radius * Math.cos(theta) * Math.sin(phi));
y = (float) (radius * Math.sin(theta) * Math.sin(phi));
z = (float) (radius * Math.cos(phi));
}
/**
* setPhi.
*
* @param phi a float.
*/
public void setPhi(float phi) {
final float radius = getRadius();
final float theta = getTheta();
x = (float) (radius * Math.cos(theta) * Math.sin(phi));
y = (float) (radius * Math.sin(theta) * Math.sin(phi));
z = (float) (radius * Math.cos(phi));
}
/**
* Setter for the field vx
.
*
* @param _vx a float.
*/
public void setVx(float _vx) {
vx = _vx;
}
/**
* Setter for the field vy
.
*
* @param _vy a float.
*/
public void setVy(float _vy) {
vy = _vy;
}
/**
* Setter for the field vz
.
*
* @param _vz a float.
*/
public void setVz(float _vz) {
vz = _vz;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy