Functions | |
Triangle | createTriangle (Texture *texture, Vector3f a, Vector3f b, Vector3f c, Vector2f aUV, Vector2f bUV, Vector2f cUV) |
Triangle | createTriangle (Vector3f a, Vector3f b, Vector3f c, Vector2f aUV, Vector2f bUV, Vector2f cUV) |
Mesh * | createCuboid (Vector3f minCorner, Vector3f maxCorner) |
|
Definition at line 69 of file MeshFactory.h. References pge::Mesh::addTriangle(), createTriangle(), and pge::Vector3f::m_v.
00069 { 00070 SingleTexturedMesh *mesh = new SingleTexturedMesh(); 00071 Vector3f points[8]; 00072 00073 00074 points[0] = Vector3f(minCorner.m_v[0], minCorner.m_v[1], minCorner.m_v[2]); 00075 points[1] = Vector3f(maxCorner.m_v[0], minCorner.m_v[1], minCorner.m_v[2]); 00076 points[2] = Vector3f(maxCorner.m_v[0], maxCorner.m_v[1], minCorner.m_v[2]); 00077 points[3] = Vector3f(minCorner.m_v[0], maxCorner.m_v[1], minCorner.m_v[2]); 00078 00079 points[4] = Vector3f(minCorner.m_v[0], minCorner.m_v[1], maxCorner.m_v[2]); 00080 points[5] = Vector3f(maxCorner.m_v[0], minCorner.m_v[1], maxCorner.m_v[2]); 00081 points[6] = Vector3f(maxCorner.m_v[0], maxCorner.m_v[1], maxCorner.m_v[2]); 00082 points[7] = Vector3f(minCorner.m_v[0], maxCorner.m_v[1], maxCorner.m_v[2]); 00083 00084 // Front and back 00085 mesh->addTriangle(createTriangle(points[0], points[1], points[2], Vector2f(0.0f, 00086 0.0f), Vector2f(0.0f, 1.0f), Vector2f(1.0f, 1.0f))); 00087 mesh->addTriangle(createTriangle(points[0], points[2], points[3], Vector2f(0.0f, 00088 0.0f), Vector2f(1.0f, 1.0f), Vector2f(1.0f, 0.0f))); 00089 mesh->addTriangle(createTriangle(points[4], points[5], points[6], Vector2f(0.0f, 00090 0.0f), Vector2f(0.0f, 1.0f), Vector2f(1.0f, 1.0f))); 00091 mesh->addTriangle(createTriangle(points[4], points[6], points[7], Vector2f(0.0f, 00092 0.0f), Vector2f(1.0f, 1.0f), Vector2f(1.0f, 0.0f))); 00093 00094 // Left and right 00095 mesh->addTriangle(createTriangle(points[0], points[4], points[7], Vector2f(0.0f, 00096 0.0f), Vector2f(0.0f, 1.0f), Vector2f(1.0f, 1.0f))); 00097 mesh->addTriangle(createTriangle(points[0], points[7], points[3], Vector2f(0.0f, 00098 0.0f), Vector2f(1.0f, 1.0f), Vector2f(1.0f, 0.0f))); 00099 mesh->addTriangle(createTriangle(points[5], points[1], points[2], Vector2f(0.0f, 00100 0.0f), Vector2f(0.0f, 1.0f), Vector2f(1.0f, 1.0f))); 00101 mesh->addTriangle(createTriangle(points[5], points[2], points[6], Vector2f(0.0f, 00102 0.0f), Vector2f(1.0f, 1.0f), Vector2f(1.0f, 0.0f))); 00103 00104 // Top and bottom 00105 mesh->addTriangle(createTriangle(points[7], points[6], points[2], Vector2f(0.0f, 00106 0.0f), Vector2f(0.0f, 1.0f), Vector2f(1.0f, 1.0f))); 00107 mesh->addTriangle(createTriangle(points[7], points[2], points[3], Vector2f(0.0f, 00108 0.0f), Vector2f(1.0f, 1.0f), Vector2f(1.0f, 0.0f))); 00109 mesh->addTriangle(createTriangle(points[4], points[5], points[1], Vector2f(0.0f, 00110 0.0f), Vector2f(0.0f, 1.0f), Vector2f(1.0f, 1.0f))); 00111 mesh->addTriangle(createTriangle(points[4], points[1], points[0], Vector2f(0.0f, 00112 0.0f), Vector2f(1.0f, 1.0f), Vector2f(1.0f, 0.0f))); 00113 return mesh; 00114 } |
Here is the call graph for this function:
|
Definition at line 47 of file MeshFactory.h. References pge::Triangle::m_plane, pge::Triangle::m_texCoords, pge::Triangle::m_texture, and pge::Triangle::m_vertices.
00047 { 00048 Triangle triangle; 00049 00050 triangle.m_vertices[0] = a; 00051 triangle.m_vertices[1] = b; 00052 triangle.m_vertices[2] = c; 00053 00054 // Set texcoords. 00055 triangle.m_texCoords[0] = aUV; 00056 triangle.m_texCoords[1] = bUV; 00057 triangle.m_texCoords[2] = cUV; 00058 00059 triangle.m_plane = new Plane(a, b, c); 00060 triangle.m_texture = TextureDatabase::getInstance()->getDefaultTexture(); 00061 00062 return triangle; 00063 } |
|
Definition at line 22 of file MeshFactory.h. References pge::Triangle::m_plane, pge::Triangle::m_texCoords, pge::Triangle::m_texture, and pge::Triangle::m_vertices. Referenced by createCuboid().
00022 { 00023 Triangle triangle; 00024 00025 triangle.m_vertices[0] = a; 00026 triangle.m_vertices[1] = b; 00027 triangle.m_vertices[2] = c; 00028 00029 // Set texcoords. 00030 triangle.m_texCoords[0] = aUV; 00031 triangle.m_texCoords[1] = bUV; 00032 triangle.m_texCoords[2] = cUV; 00033 00034 triangle.m_plane = new Plane(a, b, c); 00035 if(texture != NULL) { 00036 triangle.m_texture = texture; 00037 } else { 00038 triangle.m_texture = TextureDatabase::getInstance()->getDefaultTexture(); 00039 } 00040 00041 return triangle; 00042 } |