All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aparapi.examples.oopnbody.Body Maven / Gradle / Ivy

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