VertexList<Vertex>* Mesh::build(bool normalize) { if (normalize) normalizeSize(buildScale); VertexList<Vertex>* vertexList = (VertexList<Vertex>*) CreateVertexList<Vertex>(TRIANGLE_LIST, numberOfTriangles()); for (unsigned i=0; i<faces.size(); ++i) addFace(vertexList, faces[i]); vertexList->calcAABB(); cachedMesh = vertexList; return vertexList; }
int main(int argc, char* argv[]) { struct HolmeKimArgs args; readHolmeKimArgs(args, argc, argv); outputHolmeKimArgs(args); RandNumGen<> generator(args.randseed); NetType net(args.netSize); /* Generate the network and do something with it */ HolmeKim(net, args, generator); size_t triangles=numberOfTriangles(net); std::cerr << "Triangles in the network: " << triangles << "\n"; outputEdgesAndWeights(net); }
/** * Returns whether this object has a valid shape * @returns True if the entire MeshObject may enclose * one or more volumes. */ bool MeshObject::hasValidShape() const { // May enclose volume if there are at // at least 4 triangles and 4 vertices (Tetrahedron) return (numberOfTriangles() >= 4 && numberOfVertices() >= 4); }