int main (int argc, char **argv) { int cnt; if (argc < 4 || argc > 5) { Usage(); return 1; } std::string etable = argv[1]; std::string vtable = argv[2]; std::string rtable = argv[3]; std::string fnames = etable + ".osrm.names"; std::string fosrm = etable + ".osrm"; std::string frestrict = etable + ".osrm.restrictions"; const char *dbconn = "dbname=osrm_test user=postgres host=localhost"; if (argc == 5) dbconn = argv[4]; try { pqxx::connection conn( dbconn ); pqxx::work txn(conn); txn.exec( "set client_min_messages to warning" ); txn.commit(); std::cout << " Creating names table ...\n"; createNames( conn, etable ); std::cout << " Writing " << fnames << " file ... "; cnt = writeNames( conn, fnames, etable ); std::cout << cnt << " records\n"; std::ofstream out( fosrm.c_str(), std::ios::out | std::ios::binary ); writeHeader( out ); std::cout << " Writing vertices to " << fosrm << " file ... "; cnt = writeVertices( conn, out, vtable ); std::cout << cnt << " records\n"; std::cout << " Writing edges to " << fosrm << " file ... "; cnt = writeEdges( conn, out, etable ); std::cout << cnt << " records\n"; out.close(); std::cout << " Writing restrictions to " << frestrict << " file ... "; cnt = writeRestrictions( conn, frestrict, rtable ); std::cout << cnt << " records\n"; std::cout << " Done!\n"; } catch (const std::exception &e) { std::cerr << e.what() << std::endl; return 1; } }
void G3D::write(AbstractWriter& writer, const GeometrySoA& geometry, uint32_t vertexType) { if (writer.isOpen()) { if (vertexType == SoA) { writeHeader(writer, geometry.info); writeContent(writer, geometry); } else if (vertexType == AoS) { writeHeader(writer, geometry.info, &vertexType); writeIndices(writer, geometry.indices, geometry.info); auto vertices = convertVertices(geometry.vertexAttributes, geometry.info); writeVertices(writer, vertices, geometry.info); } } }
//----[ update ]------------------------------------------------------------- void Fluid::update(MapManager* map, int center_x, int center_y, const TileVisibility* visibility, bool visible_areas_valid[2], const VisibleTilesRect::Area new_visible_areas[2]) { bool fluid_changed_or_is_visible = false; if (visible_areas_valid[0]) { fluid_changed_or_is_visible = updateCachedTextures(false, map, &new_visible_areas[0]); } if (visible_areas_valid[1]) { fluid_changed_or_is_visible |= updateCachedTextures(fluid_changed_or_is_visible, map, &new_visible_areas[1]); } // For much of the map there is no fluid at all. If this is the case, there is // no need to lock the buffers, update colors or do any other processing. if (fluid_changed_or_is_visible) { int first_visible_column = center_x - VISIBLE_HORIZONTAL_EXTENT; int first_visible_row = center_y - VISIBLE_VERTICAL_EXTENT; // Rewrite the fluid's colors based on which can be seen TerrainVertex* vertices = NULL; if (lockVB(first_visible_column, first_visible_row, visibility, &vertices)) { if (visible_areas_valid[0]) writeVertices(&new_visible_areas[0], vertices); if (visible_areas_valid[1]) writeVertices(&new_visible_areas[1], vertices); unlockVB(); } // Write the batches updateIB(first_visible_column, first_visible_row, visibility); } }
int main(int argc, char** argv) { Point bottomPoint = Point(-3.0, -3.0, -3.0); Point topPoint = Point(3.0, 3.0, 3.0); float res = .2; Grid g = Grid(topPoint, bottomPoint, res); std::vector< std::vector <Point> > trianglesList; std::vector< std::vector<int> > rotations = createRotationTable(); std::cout << "Processing of each cubes ... "; for (int i = 0; i < g.listOfCubes.size(); i++) { int f = (int)(((float) i)*100.0/((float) g.listOfCubes.size())); if (i%1000 == 0) std::cout << f << "%... "; std::vector< std::vector <Point> > newTriangles = cubeProcessing(g.listOfCubes[i], rotations, res); if (newTriangles.size() != 0) trianglesList.insert(trianglesList.end(), newTriangles.begin(), newTriangles.end()); } std::cout << "done!" << std::endl; int nbVertices = 3 * trianglesList.size(); int nbTriangles = trianglesList.size(); std::ofstream plyFile; plyFile.open("mcResult.ply"); writeHeader(plyFile, nbVertices, nbTriangles); writeVertices(plyFile, trianglesList); writeTriangles(plyFile, nbTriangles); plyFile.close(); return 0; }
void G3D::write(const std::string & file, const GeometryAoS * const geometry, const uint32_t vertexType) { std::fstream fs; fs.open(file.c_str(), std::fstream::out | std::fstream::binary | std::fstream::trunc); if (fs.is_open()) { if (vertexType == AoS) { writeHeader(fs, geometry->info); writeContent(fs, *geometry); } else if (vertexType == SoA) { writeHeader(fs, geometry->info, &vertexType); writeIndices(fs, geometry->indices, geometry->info); std::vector<float*> vertexAttributes; convertVertices(geometry->vertices, vertexAttributes, geometry->info); writeVertices(fs, vertexAttributes, geometry->info); cleanVertices(vertexAttributes); } fs.close(); } }
void G3D::writeContent(std::fstream & fs, const GeometryAoS & geometry) { writeIndices(fs, geometry.indices, geometry.info); writeVertices(fs, geometry.vertices, geometry.info); }
void serializeFBX(FILE_INTERFACE *fph,MeshSystem *ms) { fi_fprintf(fph,"; FBX 6.1.0 project file\r\n"); fi_fprintf(fph,"; Copyright (C) 1997-2008 Autodesk Inc. and/or its licensors.\r\n"); fi_fprintf(fph,"; All rights reserved.\r\n"); fi_fprintf(fph,"; ----------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"FBXHeaderExtension: {\r\n"); fi_fprintf(fph," FBXHeaderVersion: 1003\r\n"); fi_fprintf(fph," FBXVersion: 6100\r\n"); fi_fprintf(fph," CreationTimeStamp: {\r\n"); fi_fprintf(fph," Version: 1000\r\n"); fi_fprintf(fph," Year: 2009\r\n"); fi_fprintf(fph," Month: 12\r\n"); fi_fprintf(fph," Day: 3\r\n"); fi_fprintf(fph," Hour: 18\r\n"); fi_fprintf(fph," Minute: 6\r\n"); fi_fprintf(fph," Second: 18\r\n"); fi_fprintf(fph," Millisecond: 532\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," Creator: \"FBX SDK/FBX Plugins version 2010.2\"\r\n"); fi_fprintf(fph," OtherFlags: {\r\n"); fi_fprintf(fph," FlagPLE: 0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,"CreationTime: \"2009-12-03 18:06:18:532\"\r\n"); fi_fprintf(fph,"Creator: \"FBX SDK/FBX Plugins build 20090731\"\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"; Document Description\r\n"); fi_fprintf(fph,";------------------------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"Document: {\r\n"); fi_fprintf(fph," Name: \"\"\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"; Document References\r\n"); fi_fprintf(fph,";------------------------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"References: {\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"; Object definitions\r\n"); fi_fprintf(fph,";------------------------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"Definitions: {\r\n"); fi_fprintf(fph," Version: 100\r\n"); fi_fprintf(fph," Count: 5\r\n"); fi_fprintf(fph," ObjectType: \"Model\" {\r\n"); fi_fprintf(fph," Count: 2\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," ObjectType: \"Material\" {\r\n"); fi_fprintf(fph," Count: 1\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," ObjectType: \"SceneInfo\" {\r\n"); fi_fprintf(fph," Count: 1\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," ObjectType: \"GlobalSettings\" {\r\n"); fi_fprintf(fph," Count: 1\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"; Object properties\r\n"); fi_fprintf(fph,";------------------------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"Objects: {\r\n"); fi_fprintf(fph," Model: \"Model::aconcave_root\", \"Null\" {\r\n"); fi_fprintf(fph," Version: 232\r\n"); fi_fprintf(fph," Properties60: {\r\n"); fi_fprintf(fph," Property: \"QuaternionInterpolate\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationOffset\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationPivot\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"ScalingOffset\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"ScalingPivot\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TranslationActive\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMin\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TranslationMax\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TranslationMinX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMinY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMinZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMaxX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMaxY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMaxZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationOrder\", \"enum\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationSpaceForLimitOnly\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationStiffnessX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationStiffnessY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationStiffnessZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"AxisLen\", \"double\", \"\",10\r\n"); fi_fprintf(fph," Property: \"PreRotation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"PostRotation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationActive\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMin\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationMax\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationMinX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMinY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMinZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMaxX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMaxY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMaxZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"InheritType\", \"enum\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingActive\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMin\", \"Vector3D\", \"\",1,1,1\r\n"); fi_fprintf(fph," Property: \"ScalingMax\", \"Vector3D\", \"\",1,1,1\r\n"); fi_fprintf(fph," Property: \"ScalingMinX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMinY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMinZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMaxX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMaxY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMaxZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"GeometricTranslation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"GeometricRotation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"GeometricScaling\", \"Vector3D\", \"\",1,1,1\r\n"); fi_fprintf(fph," Property: \"MinDampRangeX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampRangeY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampRangeZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampRangeX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampRangeY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampRangeZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampStrengthX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampStrengthY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampStrengthZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampStrengthX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampStrengthY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampStrengthZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"PreferedAngleX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"PreferedAngleY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"PreferedAngleZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"LookAtProperty\", \"object\", \"\"\r\n"); fi_fprintf(fph," Property: \"UpVectorProperty\", \"object\", \"\"\r\n"); fi_fprintf(fph," Property: \"Show\", \"bool\", \"\",1\r\n"); fi_fprintf(fph," Property: \"NegativePercentShapeSupport\", \"bool\", \"\",1\r\n"); fi_fprintf(fph," Property: \"DefaultAttributeIndex\", \"int\", \"\",-1\r\n"); fi_fprintf(fph," Property: \"Freeze\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"LODBox\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"Lcl Translation\", \"Lcl Translation\", \"A+\",0,0,0\r\n"); fi_fprintf(fph," Property: \"Lcl Rotation\", \"Lcl Rotation\", \"A+\",0,0,0\r\n"); fi_fprintf(fph," Property: \"Lcl Scaling\", \"Lcl Scaling\", \"A+\",1,1,1\r\n"); fi_fprintf(fph," Property: \"Visibility\", \"Visibility\", \"A+\",1\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," MultiLayer: 0\r\n"); fi_fprintf(fph," MultiTake: 1\r\n"); fi_fprintf(fph," Shading: Y\r\n"); fi_fprintf(fph," Culling: \"CullingOff\"\r\n"); fi_fprintf(fph," TypeFlags: \"Null\"\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," Model: \"Model::Box01\", \"Mesh\" {\r\n"); fi_fprintf(fph," Version: 232\r\n"); fi_fprintf(fph," Properties60: {\r\n"); fi_fprintf(fph," Property: \"QuaternionInterpolate\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationOffset\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationPivot\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"ScalingOffset\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"ScalingPivot\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TranslationActive\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMin\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TranslationMax\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TranslationMinX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMinY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMinZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMaxX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMaxY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"TranslationMaxZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationOrder\", \"enum\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationSpaceForLimitOnly\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationStiffnessX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationStiffnessY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationStiffnessZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"AxisLen\", \"double\", \"\",10\r\n"); fi_fprintf(fph," Property: \"PreRotation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"PostRotation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationActive\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMin\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationMax\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"RotationMinX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMinY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMinZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMaxX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMaxY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"RotationMaxZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"InheritType\", \"enum\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingActive\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMin\", \"Vector3D\", \"\",1,1,1\r\n"); fi_fprintf(fph," Property: \"ScalingMax\", \"Vector3D\", \"\",1,1,1\r\n"); fi_fprintf(fph," Property: \"ScalingMinX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMinY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMinZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMaxX\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMaxY\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"ScalingMaxZ\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"GeometricTranslation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"GeometricRotation\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"GeometricScaling\", \"Vector3D\", \"\",1,1,1\r\n"); fi_fprintf(fph," Property: \"MinDampRangeX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampRangeY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampRangeZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampRangeX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampRangeY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampRangeZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampStrengthX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampStrengthY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MinDampStrengthZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampStrengthX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampStrengthY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"MaxDampStrengthZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"PreferedAngleX\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"PreferedAngleY\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"PreferedAngleZ\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"LookAtProperty\", \"object\", \"\"\r\n"); fi_fprintf(fph," Property: \"UpVectorProperty\", \"object\", \"\"\r\n"); fi_fprintf(fph," Property: \"Show\", \"bool\", \"\",1\r\n"); fi_fprintf(fph," Property: \"NegativePercentShapeSupport\", \"bool\", \"\",1\r\n"); fi_fprintf(fph," Property: \"DefaultAttributeIndex\", \"int\", \"\",0\r\n"); fi_fprintf(fph," Property: \"Freeze\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"LODBox\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"Lcl Translation\", \"Lcl Translation\", \"A+\",0,0,0\r\n"); fi_fprintf(fph," Property: \"Lcl Rotation\", \"Lcl Rotation\", \"A+\",0,0,0\r\n"); fi_fprintf(fph," Property: \"Lcl Scaling\", \"Lcl Scaling\", \"A+\",1,1,1\r\n"); fi_fprintf(fph," Property: \"Visibility\", \"Visibility\", \"A+\",1\r\n"); fi_fprintf(fph," Property: \"Color\", \"ColorRGB\", \"N\",0.8,0.8,0.8\r\n"); fi_fprintf(fph," Property: \"BBoxMin\", \"Vector3D\", \"N\",0,0,0\r\n"); fi_fprintf(fph," Property: \"BBoxMax\", \"Vector3D\", \"N\",0,0,0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," MultiLayer: 0\r\n"); fi_fprintf(fph," MultiTake: 1\r\n"); fi_fprintf(fph," Shading: Y\r\n"); fi_fprintf(fph," Culling: \"CullingOff\"\r\n"); if ( ms->mMeshCount ) { Mesh *mesh = ms->mMeshes[0]; writeVertices(fph,mesh); writePolygonVertexIndex(fph,mesh); fi_fprintf(fph," GeometryVersion: 124\r\n"); writeUV(fph,mesh); } fi_fprintf(fph," LayerElementMaterial: 0 {\r\n"); fi_fprintf(fph," Version: 101\r\n"); fi_fprintf(fph," Name: \"\"\r\n"); fi_fprintf(fph," MappingInformationType: \"AllSame\"\r\n"); fi_fprintf(fph," ReferenceInformationType: \"IndexToDirect\"\r\n"); fi_fprintf(fph," Materials: 0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," LayerElementTexture: 0 {\r\n"); fi_fprintf(fph," Version: 101\r\n"); fi_fprintf(fph," Name: \"\"\r\n"); fi_fprintf(fph," MappingInformationType: \"NoMappingInformation\"\r\n"); fi_fprintf(fph," ReferenceInformationType: \"IndexToDirect\"\r\n"); fi_fprintf(fph," BlendMode: \"Translucent\"\r\n"); fi_fprintf(fph," TextureAlpha: 1\r\n"); fi_fprintf(fph," TextureId:\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," Layer: 0 {\r\n"); fi_fprintf(fph," Version: 100\r\n"); fi_fprintf(fph," LayerElement: {\r\n"); fi_fprintf(fph," Type: \"LayerElementMaterial\"\r\n"); fi_fprintf(fph," TypedIndex: 0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," LayerElement: {\r\n"); fi_fprintf(fph," Type: \"LayerElementTexture\"\r\n"); fi_fprintf(fph," TypedIndex: 0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," LayerElement: {\r\n"); fi_fprintf(fph," Type: \"LayerElementUV\"\r\n"); fi_fprintf(fph," TypedIndex: 0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," NodeAttributeName: \"Geometry::Box01_ncl1_1\"\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," SceneInfo: \"SceneInfo::GlobalInfo\", \"UserData\" {\r\n"); fi_fprintf(fph," Type: \"UserData\"\r\n"); fi_fprintf(fph," Version: 100\r\n"); fi_fprintf(fph," MetaData: {\r\n"); fi_fprintf(fph," Version: 100\r\n"); fi_fprintf(fph," Title: \"\"\r\n"); fi_fprintf(fph," Subject: \"\"\r\n"); fi_fprintf(fph," Author: \"\"\r\n"); fi_fprintf(fph," Keywords: \"\"\r\n"); fi_fprintf(fph," Revision: \"\"\r\n"); fi_fprintf(fph," Comment: \"\"\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," Properties60: {\r\n"); fi_fprintf(fph," Property: \"DocumentUrl\", \"KString\", \"\", \"aconcave.fbx\"\r\n"); fi_fprintf(fph," Property: \"SrcDocumentUrl\", \"KString\", \"\", \"aconcave.fbx\"\r\n"); fi_fprintf(fph," Property: \"Original\", \"Compound\", \"\"\r\n"); fi_fprintf(fph," Property: \"Original|ApplicationVendor\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"Original|ApplicationName\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"Original|ApplicationVersion\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"Original|DateTime_GMT\", \"DateTime\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"Original|FileName\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"LastSaved\", \"Compound\", \"\"\r\n"); fi_fprintf(fph," Property: \"LastSaved|ApplicationVendor\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"LastSaved|ApplicationName\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"LastSaved|ApplicationVersion\", \"KString\", \"\", \"\"\r\n"); fi_fprintf(fph," Property: \"LastSaved|DateTime_GMT\", \"DateTime\", \"\", \"\"\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," Material: \"Material::Box01Mat\", \"\" {\r\n"); fi_fprintf(fph," Version: 102\r\n"); fi_fprintf(fph," ShadingModel: \"phong\"\r\n"); fi_fprintf(fph," MultiLayer: 0\r\n"); fi_fprintf(fph," Properties60: {\r\n"); fi_fprintf(fph," Property: \"ShadingModel\", \"KString\", \"\", \"Phong\"\r\n"); fi_fprintf(fph," Property: \"MultiLayer\", \"bool\", \"\",0\r\n"); fi_fprintf(fph," Property: \"EmissiveColor\", \"ColorRGB\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"EmissiveFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"AmbientColor\", \"ColorRGB\", \"\",0.2,0.2,0.2\r\n"); fi_fprintf(fph," Property: \"AmbientFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"DiffuseColor\", \"ColorRGB\", \"\",0.8,0.8,0.8\r\n"); fi_fprintf(fph," Property: \"DiffuseFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"Bump\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"NormalMap\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"BumpFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"TransparentColor\", \"ColorRGB\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"TransparencyFactor\", \"double\", \"\",0\r\n"); fi_fprintf(fph," Property: \"DisplacementColor\", \"ColorRGB\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"DisplacementFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"SpecularColor\", \"ColorRGB\", \"\",0.2,0.2,0.2\r\n"); fi_fprintf(fph," Property: \"SpecularFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"ShininessExponent\", \"double\", \"\",20\r\n"); fi_fprintf(fph," Property: \"ReflectionColor\", \"ColorRGB\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"ReflectionFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"Emissive\", \"Vector3D\", \"\",0,0,0\r\n"); fi_fprintf(fph," Property: \"Ambient\", \"Vector3D\", \"\",0.2,0.2,0.2\r\n"); fi_fprintf(fph," Property: \"Diffuse\", \"Vector3D\", \"\",0.8,0.8,0.8\r\n"); fi_fprintf(fph," Property: \"Specular\", \"Vector3D\", \"\",0.2,0.2,0.2\r\n"); fi_fprintf(fph," Property: \"Shininess\", \"double\", \"\",20\r\n"); fi_fprintf(fph," Property: \"Opacity\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"Reflectivity\", \"double\", \"\",0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," GlobalSettings: {\r\n"); fi_fprintf(fph," Version: 1000\r\n"); fi_fprintf(fph," Properties60: {\r\n"); fi_fprintf(fph," Property: \"UpAxis\", \"int\", \"\",1\r\n"); fi_fprintf(fph," Property: \"UpAxisSign\", \"int\", \"\",1\r\n"); fi_fprintf(fph," Property: \"FrontAxis\", \"int\", \"\",2\r\n"); fi_fprintf(fph," Property: \"FrontAxisSign\", \"int\", \"\",1\r\n"); fi_fprintf(fph," Property: \"CoordAxis\", \"int\", \"\",0\r\n"); fi_fprintf(fph," Property: \"CoordAxisSign\", \"int\", \"\",1\r\n"); fi_fprintf(fph," Property: \"OriginalUpAxis\", \"int\", \"\",-1\r\n"); fi_fprintf(fph," Property: \"OriginalUpAxisSign\", \"int\", \"\",1\r\n"); fi_fprintf(fph," Property: \"UnitScaleFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," Property: \"OriginalUnitScaleFactor\", \"double\", \"\",1\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"; Object connections\r\n"); fi_fprintf(fph,";------------------------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"Connections: {\r\n"); fi_fprintf(fph," Connect: \"OO\", \"Model::aconcave_root\", \"Model::Scene\"\r\n"); fi_fprintf(fph," Connect: \"OO\", \"Model::Box01\", \"Model::aconcave_root\"\r\n"); fi_fprintf(fph," Connect: \"OO\", \"Material::Box01Mat\", \"Model::Box01\"\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,";Takes and animation section\r\n"); fi_fprintf(fph,";----------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"Takes: {\r\n"); fi_fprintf(fph," Current: \"\"\r\n"); fi_fprintf(fph,"}\r\n"); fi_fprintf(fph,";Version 5 settings\r\n"); fi_fprintf(fph,";------------------------------------------------------------------\r\n"); fi_fprintf(fph,"\r\n"); fi_fprintf(fph,"Version5: {\r\n"); fi_fprintf(fph," AmbientRenderSettings: {\r\n"); fi_fprintf(fph," Version: 101\r\n"); fi_fprintf(fph," AmbientLightColor: 0.4,0.4,0.4,0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," FogOptions: {\r\n"); fi_fprintf(fph," FlogEnable: 0\r\n"); fi_fprintf(fph," FogMode: 0\r\n"); fi_fprintf(fph," FogDensity: 0.002\r\n"); fi_fprintf(fph," FogStart: 0.3\r\n"); fi_fprintf(fph," FogEnd: 1000\r\n"); fi_fprintf(fph," FogColor: 1,1,1,1\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," Settings: {\r\n"); fi_fprintf(fph," FrameRate: \"30\"\r\n"); fi_fprintf(fph," TimeFormat: 1\r\n"); fi_fprintf(fph," SnapOnFrames: 0\r\n"); fi_fprintf(fph," ReferenceTimeIndex: -1\r\n"); fi_fprintf(fph," TimeLineStartTime: 0\r\n"); fi_fprintf(fph," TimeLineStopTime: 46186158000\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph," RendererSetting: {\r\n"); fi_fprintf(fph," DefaultCamera: \"\"\r\n"); fi_fprintf(fph," DefaultViewingMode: 0\r\n"); fi_fprintf(fph," }\r\n"); fi_fprintf(fph,"}\r\n"); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void SurfaceMeshDataContainerWriter::execute() { int err = 0; std::stringstream ss; setErrorCondition(err); SurfaceMeshDataContainer* sm = getSurfaceMeshDataContainer(); if(NULL == sm) { setErrorCondition(-999); notifyErrorMessage("The Surfacemesh DataContainer Object was NULL", -999); return; } setErrorCondition(0); // Create the HDF5 Group for the Data Container err = H5Utilities::createGroupsFromPath(DREAM3D::HDF5::SurfaceMeshDataContainerName.c_str(), m_HdfFileId); if (err < 0) { ss.str(""); ss << "Error creating HDF Group " << DREAM3D::HDF5::SurfaceMeshDataContainerName << std::endl; setErrorCondition(-60); addErrorMessage(getHumanLabel(), ss.str(), err); return; } hid_t dcGid = H5Gopen(m_HdfFileId, DREAM3D::HDF5::SurfaceMeshDataContainerName.c_str(), H5P_DEFAULT ); if (dcGid < 0) { ss.str(""); ss << "Error opening Group " << DREAM3D::HDF5::SurfaceMeshDataContainerName << std::endl; setErrorCondition(-61); addErrorMessage(getHumanLabel(), ss.str(), err); return; } // Add some VTK hints into the group err = createVtkObjectGroup(DREAM3D::HDF5::SurfaceMeshDataContainerName, H5_VTK_POLYDATA); if (err < 0) { return; } writeXdmfGridHeader(); H5GroupAutoCloser dcGidAutoCloser(&dcGid); err = writeVertices(dcGid); if (err < 0) { return; } err = writeMeshVertLinks(dcGid); if (err < 0) { return; } err = writeVertexAttributeData(dcGid); if (err < 0) { return; } err = writeFaces(dcGid); if (err < 0) { return; } err = writeMeshFaceNeighborLists(dcGid); if (err < 0) { return; } err = writeFaceAttributeData(dcGid); if (err < 0) { return; } err = writeEdges(dcGid); if (err < 0) { return; } err = writeEdgeAttributeData(dcGid); if (err < 0) { return; } err = writeFieldData(dcGid); if (err < 0) { H5Gclose(dcGid); // Close the Data Container Group return; } err = writeEnsembleData(dcGid); if (err < 0) { H5Gclose(dcGid); // Close the Data Container Group return; } // Now finally close the group and the HDf5 File H5Gclose(dcGid); // Close the Data Container Group dcGid = -1; writeXdmfGridFooter(); notifyStatusMessage("Complete"); }
void G3djWriter::exportG3dj(G3djFile *file, const char* filePath){ writer = new JSONWriter(filePath); writer->openObject(); writer->writeStringPair("version", G3DJ_VERSION); writer->nextValue(true); // Write Meshes writer->openArray("meshes"); // meshes for (unsigned int i=0; i<file->getMeshCount(); i++) { Mesh *mesh = file->getMesh(i); if(i>0) writer->nextValue(true); writer->openObject(); // write ID out first writer->writeStringPair("id", mesh->getId().c_str()); writer->nextValue(true); // then the attributes writer->openArray("attributes"); writeAttributes(mesh); writer->closeArray(); writer->nextValue(true); // then the interleaved vertices writer->openArray("vertices"); writeVertices(mesh); writer->closeArray(); writer->nextValue(true); // then the mesh parts (optional) if(mesh->parts.size() > 0){ writer->openArray("parts"); writeMeshParts(mesh); writer->closeArray(); } writer->closeObject(); } writer->closeArray(); writer->nextValue(true); // Write Materials if(file->getMaterialCount() > 0){ writer->openArray("materials"); for(unsigned int i=0; i<file->getMaterialCount(); i++){ G3djMaterial* material = file->getMaterial(i); if(i>0) writer->nextValue(true); writeMaterial(material); } writer->closeArray(); writer->nextValue(true); } // Write Nodes writer->openArray("nodes"); for(unsigned int i=0; i<file->getNodeCount(); i++){ G3djNode* node = file->getNode(i); if(i>0) writer->nextValue(true); writeNodeRecursive(node); } writer->closeArray(); writer->nextValue(true); // Write Animations writer->openArray("animations"); for(unsigned int i=0; i<file->getAnimationClipCount(); i++){ AnimationClip* animationClip = file->getAnimationClip(i); if(i>0) writer->nextValue(true); writeAnimationClip(animationClip); } writer->closeArray(); // Main object closing writer->closeObject(); }
void G3D::writeContent(AbstractWriter& writer, const GeometryAoS& geometry) { writeIndices(writer, geometry.indices, geometry.info); writeVertices(writer, geometry.vertices, geometry.info); }