aboutsummaryrefslogtreecommitdiff
path: root/dep/g3dlite/source/MeshBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dep/g3dlite/source/MeshBuilder.cpp')
-rw-r--r--dep/g3dlite/source/MeshBuilder.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/dep/g3dlite/source/MeshBuilder.cpp b/dep/g3dlite/source/MeshBuilder.cpp
index 1bf2bab5d1c..6109af94697 100644
--- a/dep/g3dlite/source/MeshBuilder.cpp
+++ b/dep/g3dlite/source/MeshBuilder.cpp
@@ -36,7 +36,7 @@ void MeshBuilder::commit(std::string& n, Array<int>& indexArray, Array<Vector3>&
close = minEdgeLen * 0.1;
}
- MeshAlg::computeWeld(triList, outvertexArray, toNew, toOld, close);
+ MeshAlg::computeWeld(triList, outvertexArray, toNew, toOld, (float)close);
// Construct triangles
for (int t = 0; t < triList.size(); t += 3) {
@@ -62,19 +62,21 @@ void MeshBuilder::centerTriList() {
computeBounds(vmin, vmax);
- Vector3 diagonal = vmax - vmin;
- double scale = max(max(diagonal.x, diagonal.y), diagonal.z) / 2;
+ const Vector3 diagonal = vmax - vmin;
+ float scale = max(max(diagonal.x, diagonal.y), diagonal.z) / 2.0f;
debugAssert(scale > 0);
- Vector3 translation = vmin + diagonal / 2;
+ const Vector3 translation = vmin + diagonal / 2.0f;
// Center and scale all vertices in the input list
int v;
- //Matrix3 rot90 = Matrix3::fromAxisAngle(Vector3::UNIT_Y, toRadians(180)) * Matrix3::fromAxisAngle(Vector3::UNIT_X, toRadians(90));
- for (v = 0; v < triList.size(); ++v) {
- triList[v] = (triList[v] - translation) / scale;
- //triList[v] = rot90 * triList[v];
+ if (scaleAndCenter) {
+ //Matrix3 rot90 = Matrix3::fromAxisAngle(Vector3::UNIT_Y, toRadians(180)) * Matrix3::fromAxisAngle(Vector3::UNIT_X, toRadians(90));
+ for (v = 0; v < triList.size(); ++v) {
+ triList[v] = (triList[v] - translation) / scale;
+ //triList[v] = rot90 * triList[v];
+ }
}
}
@@ -94,9 +96,9 @@ void MeshBuilder::computeBounds(Vector3& min, Vector3& max) {
void MeshBuilder::addTriangle(const Vector3& a, const Vector3& b, const Vector3& c) {
triList.append(a, b, c);
- if (_twoSided) {
- triList.append(c, b, a);
- }
+ if (_twoSided) {
+ triList.append(c, b, a);
+ }
}
@@ -107,7 +109,7 @@ void MeshBuilder::addQuad(const Vector3& a, const Vector3& b, const Vector3& c,
void MeshBuilder::addTriangle(const Triangle& t) {
- addTriangle(t.vertex(0), t.vertex(1), t.vertex(2));
+ addTriangle(t.vertex(0), t.vertex(1), t.vertex(2));
}
} // namespace