Refactor: Expand tabs to 4 spaces
This commit is contained in:
@@ -52,35 +52,35 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include "ByteSwapper.h"
|
||||
|
||||
using namespace Assimp;
|
||||
namespace Assimp {
|
||||
namespace Assimp {
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// Worker function for exporting a scene to Stereolithograpy. Prototyped and registered in Exporter.cpp
|
||||
void ExportSceneSTL(const char* pFile,IOSystem* pIOSystem, const aiScene* pScene, const ExportProperties* pProperties)
|
||||
{
|
||||
// invoke the exporter
|
||||
STLExporter exporter(pFile, pScene);
|
||||
// invoke the exporter
|
||||
STLExporter exporter(pFile, pScene);
|
||||
|
||||
// we're still here - export successfully completed. Write the file.
|
||||
boost::scoped_ptr<IOStream> outfile (pIOSystem->Open(pFile,"wt"));
|
||||
if(outfile == NULL) {
|
||||
throw DeadlyExportError("could not open output .stl file: " + std::string(pFile));
|
||||
}
|
||||
// we're still here - export successfully completed. Write the file.
|
||||
boost::scoped_ptr<IOStream> outfile (pIOSystem->Open(pFile,"wt"));
|
||||
if(outfile == NULL) {
|
||||
throw DeadlyExportError("could not open output .stl file: " + std::string(pFile));
|
||||
}
|
||||
|
||||
outfile->Write( exporter.mOutput.str().c_str(), static_cast<size_t>(exporter.mOutput.tellp()),1);
|
||||
outfile->Write( exporter.mOutput.str().c_str(), static_cast<size_t>(exporter.mOutput.tellp()),1);
|
||||
}
|
||||
void ExportSceneSTLBinary(const char* pFile,IOSystem* pIOSystem, const aiScene* pScene, const ExportProperties* pProperties)
|
||||
{
|
||||
// invoke the exporter
|
||||
STLExporter exporter(pFile, pScene, true);
|
||||
// invoke the exporter
|
||||
STLExporter exporter(pFile, pScene, true);
|
||||
|
||||
// we're still here - export successfully completed. Write the file.
|
||||
boost::scoped_ptr<IOStream> outfile (pIOSystem->Open(pFile,"wb"));
|
||||
if(outfile == NULL) {
|
||||
throw DeadlyExportError("could not open output .stl file: " + std::string(pFile));
|
||||
}
|
||||
// we're still here - export successfully completed. Write the file.
|
||||
boost::scoped_ptr<IOStream> outfile (pIOSystem->Open(pFile,"wb"));
|
||||
if(outfile == NULL) {
|
||||
throw DeadlyExportError("could not open output .stl file: " + std::string(pFile));
|
||||
}
|
||||
|
||||
outfile->Write( exporter.mOutput.str().c_str(), static_cast<size_t>(exporter.mOutput.tellp()),1);
|
||||
outfile->Write( exporter.mOutput.str().c_str(), static_cast<size_t>(exporter.mOutput.tellp()),1);
|
||||
}
|
||||
|
||||
} // end of namespace Assimp
|
||||
@@ -91,88 +91,88 @@ STLExporter :: STLExporter(const char* _filename, const aiScene* pScene, bool bi
|
||||
: filename(_filename)
|
||||
, endl("\n")
|
||||
{
|
||||
// make sure that all formatting happens using the standard, C locale and not the user's current locale
|
||||
const std::locale& l = std::locale("C");
|
||||
mOutput.imbue(l);
|
||||
if (binary) {
|
||||
char buf[80] = {0} ;
|
||||
buf[0] = 'A'; buf[1] = 's'; buf[2] = 's'; buf[3] = 'i'; buf[4] = 'm'; buf[5] = 'p';
|
||||
buf[6] = 'S'; buf[7] = 'c'; buf[8] = 'e'; buf[9] = 'n'; buf[10] = 'e';
|
||||
mOutput.write(buf, 80);
|
||||
unsigned int meshnum = 0;
|
||||
for(unsigned int i = 0; i < pScene->mNumMeshes; ++i) {
|
||||
for (unsigned int j = 0; j < pScene->mMeshes[i]->mNumFaces; ++j) {
|
||||
meshnum++;
|
||||
}
|
||||
}
|
||||
AI_SWAP4(meshnum);
|
||||
mOutput.write((char *)&meshnum, 4);
|
||||
for(unsigned int i = 0; i < pScene->mNumMeshes; ++i) {
|
||||
WriteMeshBinary(pScene->mMeshes[i]);
|
||||
}
|
||||
} else {
|
||||
const std::string& name = "AssimpScene";
|
||||
// make sure that all formatting happens using the standard, C locale and not the user's current locale
|
||||
const std::locale& l = std::locale("C");
|
||||
mOutput.imbue(l);
|
||||
if (binary) {
|
||||
char buf[80] = {0} ;
|
||||
buf[0] = 'A'; buf[1] = 's'; buf[2] = 's'; buf[3] = 'i'; buf[4] = 'm'; buf[5] = 'p';
|
||||
buf[6] = 'S'; buf[7] = 'c'; buf[8] = 'e'; buf[9] = 'n'; buf[10] = 'e';
|
||||
mOutput.write(buf, 80);
|
||||
unsigned int meshnum = 0;
|
||||
for(unsigned int i = 0; i < pScene->mNumMeshes; ++i) {
|
||||
for (unsigned int j = 0; j < pScene->mMeshes[i]->mNumFaces; ++j) {
|
||||
meshnum++;
|
||||
}
|
||||
}
|
||||
AI_SWAP4(meshnum);
|
||||
mOutput.write((char *)&meshnum, 4);
|
||||
for(unsigned int i = 0; i < pScene->mNumMeshes; ++i) {
|
||||
WriteMeshBinary(pScene->mMeshes[i]);
|
||||
}
|
||||
} else {
|
||||
const std::string& name = "AssimpScene";
|
||||
|
||||
mOutput << "solid " << name << endl;
|
||||
for(unsigned int i = 0; i < pScene->mNumMeshes; ++i) {
|
||||
WriteMesh(pScene->mMeshes[i]);
|
||||
}
|
||||
mOutput << "endsolid " << name << endl;
|
||||
}
|
||||
mOutput << "solid " << name << endl;
|
||||
for(unsigned int i = 0; i < pScene->mNumMeshes; ++i) {
|
||||
WriteMesh(pScene->mMeshes[i]);
|
||||
}
|
||||
mOutput << "endsolid " << name << endl;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void STLExporter :: WriteMesh(const aiMesh* m)
|
||||
{
|
||||
for (unsigned int i = 0; i < m->mNumFaces; ++i) {
|
||||
const aiFace& f = m->mFaces[i];
|
||||
for (unsigned int i = 0; i < m->mNumFaces; ++i) {
|
||||
const aiFace& f = m->mFaces[i];
|
||||
|
||||
// we need per-face normals. We specified aiProcess_GenNormals as pre-requisite for this exporter,
|
||||
// but nonetheless we have to expect per-vertex normals.
|
||||
aiVector3D nor;
|
||||
if (m->mNormals) {
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
nor += m->mNormals[f.mIndices[a]];
|
||||
}
|
||||
nor.Normalize();
|
||||
}
|
||||
mOutput << " facet normal " << nor.x << " " << nor.y << " " << nor.z << endl;
|
||||
mOutput << " outer loop" << endl;
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
const aiVector3D& v = m->mVertices[f.mIndices[a]];
|
||||
mOutput << " vertex " << v.x << " " << v.y << " " << v.z << endl;
|
||||
}
|
||||
// we need per-face normals. We specified aiProcess_GenNormals as pre-requisite for this exporter,
|
||||
// but nonetheless we have to expect per-vertex normals.
|
||||
aiVector3D nor;
|
||||
if (m->mNormals) {
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
nor += m->mNormals[f.mIndices[a]];
|
||||
}
|
||||
nor.Normalize();
|
||||
}
|
||||
mOutput << " facet normal " << nor.x << " " << nor.y << " " << nor.z << endl;
|
||||
mOutput << " outer loop" << endl;
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
const aiVector3D& v = m->mVertices[f.mIndices[a]];
|
||||
mOutput << " vertex " << v.x << " " << v.y << " " << v.z << endl;
|
||||
}
|
||||
|
||||
mOutput << " endloop" << endl;
|
||||
mOutput << " endfacet" << endl << endl;
|
||||
}
|
||||
mOutput << " endloop" << endl;
|
||||
mOutput << " endfacet" << endl << endl;
|
||||
}
|
||||
}
|
||||
|
||||
void STLExporter :: WriteMeshBinary(const aiMesh* m)
|
||||
{
|
||||
for (unsigned int i = 0; i < m->mNumFaces; ++i) {
|
||||
const aiFace& f = m->mFaces[i];
|
||||
// we need per-face normals. We specified aiProcess_GenNormals as pre-requisite for this exporter,
|
||||
// but nonetheless we have to expect per-vertex normals.
|
||||
aiVector3D nor;
|
||||
if (m->mNormals) {
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
nor += m->mNormals[f.mIndices[a]];
|
||||
}
|
||||
nor.Normalize();
|
||||
}
|
||||
float nx = nor.x, ny = nor.y, nz = nor.z;
|
||||
AI_SWAP4(nx); AI_SWAP4(ny); AI_SWAP4(nz);
|
||||
mOutput.write((char *)&nx, 4); mOutput.write((char *)&ny, 4); mOutput.write((char *)&nz, 4);
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
const aiVector3D& v = m->mVertices[f.mIndices[a]];
|
||||
float vx = v.x, vy = v.y, vz = v.z;
|
||||
AI_SWAP4(vx); AI_SWAP4(vy); AI_SWAP4(vz);
|
||||
mOutput.write((char *)&vx, 4); mOutput.write((char *)&vy, 4); mOutput.write((char *)&vz, 4);
|
||||
}
|
||||
char dummy[2] = {0};
|
||||
mOutput.write(dummy, 2);
|
||||
}
|
||||
for (unsigned int i = 0; i < m->mNumFaces; ++i) {
|
||||
const aiFace& f = m->mFaces[i];
|
||||
// we need per-face normals. We specified aiProcess_GenNormals as pre-requisite for this exporter,
|
||||
// but nonetheless we have to expect per-vertex normals.
|
||||
aiVector3D nor;
|
||||
if (m->mNormals) {
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
nor += m->mNormals[f.mIndices[a]];
|
||||
}
|
||||
nor.Normalize();
|
||||
}
|
||||
float nx = nor.x, ny = nor.y, nz = nor.z;
|
||||
AI_SWAP4(nx); AI_SWAP4(ny); AI_SWAP4(nz);
|
||||
mOutput.write((char *)&nx, 4); mOutput.write((char *)&ny, 4); mOutput.write((char *)&nz, 4);
|
||||
for(unsigned int a = 0; a < f.mNumIndices; ++a) {
|
||||
const aiVector3D& v = m->mVertices[f.mIndices[a]];
|
||||
float vx = v.x, vy = v.y, vz = v.z;
|
||||
AI_SWAP4(vx); AI_SWAP4(vy); AI_SWAP4(vz);
|
||||
mOutput.write((char *)&vx, 4); mOutput.write((char *)&vy, 4); mOutput.write((char *)&vz, 4);
|
||||
}
|
||||
char dummy[2] = {0};
|
||||
mOutput.write(dummy, 2);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user