17 if (valueCheckAxis ==
XAxis && positive && base.
X > 0) {
19 }
else if (valueCheckAxis ==
XAxis && !positive && base.
X < 0) {
21 }
else if (valueCheckAxis ==
YAxis && positive && base.
Y > 0) {
23 }
else if (valueCheckAxis ==
YAxis && !positive && base.
Y < 0) {
25 }
else if (valueCheckAxis ==
ZAxis && positive && base.
Z > 0) {
27 }
else if (valueCheckAxis ==
ZAxis && !positive && base.
Z < 0) {
41 objects[i]->
GetVertices()[j].
X = (sinf((base.
Y) + timeRatio * frequencyModifier) * periodModifier + cosf((base.
Z) + timeRatio * frequencyModifier) * periodModifier) * magnitude;
44 objects[i]->
GetVertices()[j].
Y = (sinf((base.
X) + timeRatio * frequencyModifier) * periodModifier + cosf((base.
Z) + timeRatio * frequencyModifier) * periodModifier) * magnitude;
47 objects[i]->
GetVertices()[j].
Z = (sinf((base.
X) + timeRatio * frequencyModifier) * periodModifier + cosf((base.
Y) + timeRatio * frequencyModifier) * periodModifier) * magnitude;
63 objects[i]->
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;
66 objects[i]->
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;
69 objects[i]->
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;
105 switch (selectionAxis) {
120 float stepWindow = (maxAxis - minAxis) / points;
123 float roundDownWindow = roundUpWindow - stepWindow;
124 int roundUpIndex = (roundUpWindow - minAxis) / stepWindow;
126 float intervalMultiplier, windowRatio;
128 if (roundUpIndex < 1) {
129 intervalMultiplier = 1.0f;
130 }
else if (roundUpIndex > points) {
131 intervalMultiplier = 1.0f;
133 windowRatio = (value - roundDownWindow) / stepWindow;
139 switch (deformAxis) {
Interface for managing a dynamic group of 3D triangles and associated data.
virtual Vector3D * GetVertices()=0
Retrieves the array of mutable vertices in the triangle group.
virtual int GetVertexCount()=0
Retrieves the total number of vertices in the 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 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.