4 if (valueCheckAxis ==
XAxis && positive && base.
X > 0){
7 else if (valueCheckAxis ==
XAxis && !positive && base.
X < 0){
10 else if (valueCheckAxis ==
YAxis && positive && base.
Y > 0){
13 else if (valueCheckAxis ==
YAxis && !positive && base.
Y < 0){
16 else if (valueCheckAxis ==
ZAxis && positive && base.
Z > 0){
19 else if (valueCheckAxis ==
ZAxis && !positive && base.
Z < 0){
70 objects[i]->
GetTriangleGroup()->
GetVertices()[j].
X = (sinf((base.
Y) + timeRatio * frequencyModifier) * periodModifier + cosf((base.
Z) + timeRatio * frequencyModifier) * periodModifier) * magnitude;
73 objects[i]->
GetTriangleGroup()->
GetVertices()[j].
Y = (sinf((base.
X) + timeRatio * frequencyModifier) * periodModifier + cosf((base.
Z) + timeRatio * frequencyModifier) * periodModifier) * magnitude;
76 objects[i]->
GetTriangleGroup()->
GetVertices()[j].
Z = (sinf((base.
X) + timeRatio * frequencyModifier) * periodModifier + cosf((base.
Y) + timeRatio * frequencyModifier) * periodModifier) * magnitude;
92 objects[i]->
GetTriangleGroup()->
GetVertices()[j].
X = -(1.0f + cosf(12.0f*sqrt(base.
Y * base.
Y + base.
Z + base.
Z) + timeRatio * frequencyModifier) * periodModifier) / (0.5f * (base.
Y * base.
Y + base.
Z + base.
Z) + 2.0f) * magnitude;
95 objects[i]->
GetTriangleGroup()->
GetVertices()[j].
Y = -(1.0f + cosf(12.0f*sqrt(base.
X * base.
X + base.
Z + base.
Z) + timeRatio * frequencyModifier) * periodModifier) / (0.5f * (base.
X * base.
X + base.
Z + base.
Z) + 2.0f) * magnitude;
98 objects[i]->
GetTriangleGroup()->
GetVertices()[j].
Z = -(1.0f + cosf(12.0f*sqrt(base.
X * base.
X + base.
Y * base.
Y) + timeRatio * frequencyModifier) * periodModifier) / (0.5f * (base.
X * base.
X + base.
Y * base.
Y) + 2.0f) * magnitude;
135 switch(selectionAxis){
150 float stepWindow = (maxAxis - minAxis) / points;
153 float roundDownWindow = roundUpWindow - stepWindow;
154 int roundUpIndex = (roundUpWindow - minAxis) / stepWindow;
156 float intervalMultiplier, windowRatio;
158 if (roundUpIndex < 1){
159 intervalMultiplier = 1.0f;
161 else if (roundUpIndex > points){
162 intervalMultiplier = 1.0f;
165 windowRatio = (value - roundDownWindow) / stepWindow;
virtual Vector3D * GetVertices()=0
Retrieves the array of mutable vertices in the triangle group.
static int RoundUpWindow(int value, int multiple)
Rounds value up to the nearest multiple of multiple.
static float CosineInterpolation(float beg, float fin, float ratio)
Applies a cosine-based interpolation between two values.
Represents a 3D object with geometry, material, and transformation data.
ITriangleGroup * GetTriangleGroup()
Retrieves the modifiable geometry of the object.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.
float Z
The Z-component of the 3D vector.
float X
The X-component of the 3D vector.
float Y
The Y-component of the 3D vector.