Spitting out files WIP
This commit is contained in:
@@ -175,6 +175,7 @@
|
|||||||
<ClCompile Include="Main.cpp" />
|
<ClCompile Include="Main.cpp" />
|
||||||
<ClCompile Include="Mesh.cpp" />
|
<ClCompile Include="Mesh.cpp" />
|
||||||
<ClCompile Include="Skeleton.cpp" />
|
<ClCompile Include="Skeleton.cpp" />
|
||||||
|
<ClCompile Include="WriteToFile.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="MayaExporter.ui">
|
<CustomBuild Include="MayaExporter.ui">
|
||||||
@@ -198,7 +199,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Mesh.h" />
|
<ClInclude Include="Mesh.h" />
|
||||||
|
<ClInclude Include="OutputData.h" />
|
||||||
<ClInclude Include="Skeleton.h" />
|
<ClInclude Include="Skeleton.h" />
|
||||||
|
<ClInclude Include="WriteToFile.h" />
|
||||||
<CustomBuild Include="Menu.h">
|
<CustomBuild Include="Menu.h">
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing Menu.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing Menu.h...</Message>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
|||||||
@@ -59,6 +59,9 @@
|
|||||||
<ClCompile Include="Skeleton.cpp">
|
<ClCompile Include="Skeleton.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="WriteToFile.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="leeeeel.qrc">
|
<CustomBuild Include="leeeeel.qrc">
|
||||||
@@ -87,5 +90,11 @@
|
|||||||
<ClInclude Include="Skeleton.h">
|
<ClInclude Include="Skeleton.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="WriteToFile.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="OutputData.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
#include <maya/MDataHandle.h>
|
#include <maya/MDataHandle.h>
|
||||||
#include <maya/MTransformationMatrix.h>
|
#include <maya/MTransformationMatrix.h>
|
||||||
#include <maya/MFnMatrixData.h>
|
#include <maya/MFnMatrixData.h>
|
||||||
|
#include <maya/MItMeshFaceVertex.h>
|
||||||
|
|
||||||
|
|
||||||
// Wrappers
|
// Wrappers
|
||||||
|
|||||||
@@ -215,8 +215,12 @@ void Menu::ExportAll(bool)
|
|||||||
cout << m_ExportPath->text().toLocal8Bit().constData() << endl;
|
cout << m_ExportPath->text().toLocal8Bit().constData() << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_File.ASCIIFilePath("C:/Users/Nickelodion/Desktop/coolASCII.txt");
|
||||||
|
m_File.binaryFilePath("C:/Users/Nickelodion/Desktop/coolSoptunz.bin");
|
||||||
|
|
||||||
if(m_ExportAnimationsButton->isChecked())
|
if(m_ExportAnimationsButton->isChecked())
|
||||||
GetSkeletonData();
|
GetSkeletonData();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Menu::CancelClicked(bool)
|
void Menu::CancelClicked(bool)
|
||||||
@@ -298,8 +302,10 @@ void Menu::GetSkeletonData()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//print out all bind poses
|
//print out all bind poses
|
||||||
|
m_File.OpenFiles();
|
||||||
for (auto aBindPose : allBindPoses)
|
for (auto aBindPose : allBindPoses)
|
||||||
{
|
{
|
||||||
|
m_File.writeToFiles(&aBindPose);
|
||||||
MGlobal::displayInfo(MString() + "BindPose Skeleton name: " + aBindPose.Name.c_str());
|
MGlobal::displayInfo(MString() + "BindPose Skeleton name: " + aBindPose.Name.c_str());
|
||||||
for (int i = 0; i < aBindPose.Joints.size(); i++)
|
for (int i = 0; i < aBindPose.Joints.size(); i++)
|
||||||
{
|
{
|
||||||
@@ -312,21 +318,25 @@ void Menu::GetSkeletonData()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Print out all skeletons for all frames
|
//Print out all skeletons for all frames
|
||||||
|
|
||||||
MGlobal::displayInfo(MString() + allSkeletons.size());
|
MGlobal::displayInfo(MString() + allSkeletons.size());
|
||||||
for (auto frameSkeletons : allSkeletons)
|
for (auto frameSkeletons : allSkeletons)
|
||||||
{
|
{
|
||||||
for (auto aSkeleton : frameSkeletons)
|
for (auto aSkeleton : frameSkeletons)
|
||||||
{
|
{
|
||||||
MGlobal::displayInfo(MString() + aSkeleton.Name.c_str());
|
MGlobal::displayInfo(MString() + aSkeleton.Name.c_str());
|
||||||
|
//m_File.writeToFiles(&aSkeleton);
|
||||||
for (auto joint : aSkeleton.Joints)
|
for (auto joint : aSkeleton.Joints)
|
||||||
{
|
{
|
||||||
|
//m_File.writeToFiles(&joint);
|
||||||
//MGlobal::displayInfo(MString() + joint.Translation[0] + " " + joint.Translation[1] + " " + joint.Translation[2]);
|
//MGlobal::displayInfo(MString() + joint.Translation[0] + " " + joint.Translation[1] + " " + joint.Translation[2]);
|
||||||
//MGlobal::displayInfo(MString() + joint.Rotation[0] + " " + joint.Rotation[1] + " " + joint.Rotation[2]);
|
//MGlobal::displayInfo(MString() + joint.Rotation[0] + " " + joint.Rotation[1] + " " + joint.Rotation[2]);
|
||||||
//MGlobal::displayInfo(MString() + joint.Scale[0] + " " + joint.Scale[1] + " " + joint.Scale[2]);
|
//MGlobal::displayInfo(MString() + joint.Scale[0] + " " + joint.Scale[1] + " " + joint.Scale[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
m_File.CloseFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
Menu::~Menu()
|
Menu::~Menu()
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
#include "Material.h"
|
#include "Material.h"
|
||||||
#include "Mesh.h"
|
#include "Mesh.h"
|
||||||
#include "Skeleton.h"
|
#include "Skeleton.h"
|
||||||
|
#include "WriteToFile.h"
|
||||||
|
|
||||||
class Menu : public QWidget
|
class Menu : public QWidget
|
||||||
{
|
{
|
||||||
@@ -86,6 +87,8 @@ private:
|
|||||||
|
|
||||||
Material* m_MaterialHandler = nullptr;
|
Material* m_MaterialHandler = nullptr;
|
||||||
Skeleton* m_SkeletonHandler = nullptr;
|
Skeleton* m_SkeletonHandler = nullptr;
|
||||||
|
|
||||||
|
WriteToFile m_File;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -25,26 +25,48 @@ void Mesh::GetMeshData(MObject object)
|
|||||||
MVector normal;
|
MVector normal;
|
||||||
MPoint pos;
|
MPoint pos;
|
||||||
float2 UV;
|
float2 UV;
|
||||||
|
double biTangent[3];
|
||||||
|
double biNormal[3];
|
||||||
VertexLayout thisVertex;
|
VertexLayout thisVertex;
|
||||||
|
MFloatVectorArray biTangents;
|
||||||
|
MFloatVectorArray biNormals;
|
||||||
|
|
||||||
|
mesh.getTangents(biTangents, MSpace::kObject, NULL);
|
||||||
|
mesh.getBinormals(biNormals, MSpace::kObject, NULL);
|
||||||
|
|
||||||
|
MGlobal::displayInfo("Befor Loop");
|
||||||
|
MItMeshFaceVertex faceVert(object);
|
||||||
|
int intDummy = 0;
|
||||||
for (MItMeshPolygon meshPolyIter(object); !meshPolyIter.isDone(); meshPolyIter.next()) {
|
for (MItMeshPolygon meshPolyIter(object); !meshPolyIter.isDone(); meshPolyIter.next()) {
|
||||||
vector<UINT> localVertexToGlobalIndex;
|
vector<UINT> localVertexToGlobalIndex;
|
||||||
meshPolyIter.getVertices(vertices);
|
meshPolyIter.getVertices(vertices);
|
||||||
|
|
||||||
meshPolyIter.getTriangles(dummy, triangleList);
|
meshPolyIter.getTriangles(dummy, triangleList);
|
||||||
UINT indexOffset = verticesData.size();
|
UINT indexOffset = verticesData.size();
|
||||||
|
MGlobal::displayInfo("Befor Second Loop");
|
||||||
for (UINT i = 0; i < vertices.length(); i++) {
|
for (UINT i = 0; i < vertices.length(); i++) {
|
||||||
vertexIndex = meshPolyIter.vertexIndex(i);
|
faceVert.setIndex(meshPolyIter.index(), i, intDummy, intDummy);
|
||||||
pos = meshPolyIter.point(i);
|
MGlobal::displayInfo("In Second Loop");
|
||||||
pos.get(thisVertex.Pos);
|
faceVert.position().get(thisVertex.Pos);
|
||||||
|
faceVert.getNormal(normal);
|
||||||
meshPolyIter.getNormal(i, normal);
|
|
||||||
thisVertex.Normal[0] = normal[0];
|
thisVertex.Normal[0] = normal[0];
|
||||||
thisVertex.Normal[1] = normal[1];
|
thisVertex.Normal[1] = normal[1];
|
||||||
thisVertex.Normal[2] = normal[2];
|
thisVertex.Normal[2] = normal[2];
|
||||||
|
|
||||||
meshPolyIter.getUV(i, UV);
|
MFloatVector biTangent = biTangents[faceVert.tangentId()];
|
||||||
|
//MVector tmp = faceVert.getTangent(MSpace::kObject, NULL);
|
||||||
|
//tmp.get(biTangent);
|
||||||
|
thisVertex.BiTangent[0] = biTangent[0];
|
||||||
|
thisVertex.BiTangent[1] = biTangent[1];
|
||||||
|
thisVertex.BiTangent[2] = biTangent[2];
|
||||||
|
|
||||||
|
MFloatVector biNormal = biNormals[faceVert.tangentId()];
|
||||||
|
//faceVert.getBinormal().get(biNormal);
|
||||||
|
thisVertex.BiNormal[0] = biNormal[0];
|
||||||
|
thisVertex.BiNormal[1] = biNormal[1];
|
||||||
|
thisVertex.BiNormal[2] = biNormal[2];
|
||||||
|
|
||||||
|
faceVert.getUV(UV);
|
||||||
thisVertex.Uv[0] = UV[0];
|
thisVertex.Uv[0] = UV[0];
|
||||||
thisVertex.Uv[1] = UV[1];
|
thisVertex.Uv[1] = UV[1];
|
||||||
|
|
||||||
@@ -53,14 +75,18 @@ void Mesh::GetMeshData(MObject object)
|
|||||||
|
|
||||||
cout << "Pos: " << thisVertex.Pos[0] << "/" << thisVertex.Pos[1] << "/" << thisVertex.Pos[2] << endl;
|
cout << "Pos: " << thisVertex.Pos[0] << "/" << thisVertex.Pos[1] << "/" << thisVertex.Pos[2] << endl;
|
||||||
cout << "Normals: " << thisVertex.Normal[0] << "/" << thisVertex.Normal[1] << "/" << thisVertex.Normal[2] << endl;
|
cout << "Normals: " << thisVertex.Normal[0] << "/" << thisVertex.Normal[1] << "/" << thisVertex.Normal[2] << endl;
|
||||||
|
cout << "Bi-Normals: " << thisVertex.BiNormal[0] << "/" << thisVertex.BiNormal[1] << "/" << thisVertex.BiNormal[2] << endl;
|
||||||
|
cout << "Bi-Tangents: " << thisVertex.BiTangent[0] << "/" << thisVertex.BiTangent[1] << "/" << thisVertex.BiTangent[2] << endl;
|
||||||
cout << "UV: " << thisVertex.Uv[0] << "/" << thisVertex.Uv[1] << endl;
|
cout << "UV: " << thisVertex.Uv[0] << "/" << thisVertex.Uv[1] << endl;
|
||||||
}
|
}
|
||||||
for (UINT i = 0; i < triangleList.length(); i++) {
|
MGlobal::displayInfo("Befor Third Loop");
|
||||||
UINT k = 0;
|
|
||||||
while (localVertexToGlobalIndex[k] != triangleList[i])
|
//for (UINT i = 0; i < triangleList.length(); i++) {
|
||||||
k++;
|
// UINT k = 0;
|
||||||
indexArray.push_back(indexOffset + k);
|
// while (localVertexToGlobalIndex[k] != triangleList[i])
|
||||||
}
|
// k++;
|
||||||
|
// indexArray.push_back(indexOffset + k);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,25 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "OutputData.h"
|
||||||
#include "MayaIncludes.h"
|
#include "MayaIncludes.h"
|
||||||
|
|
||||||
struct VertexLayout
|
class VertexLayout : public OutputData
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
float Pos[3];
|
float Pos[3];
|
||||||
float Normal[3];
|
float Normal[3];
|
||||||
|
float BiNormal[3];
|
||||||
|
float BiTangent[3];
|
||||||
float Uv[2];
|
float Uv[2];
|
||||||
|
|
||||||
|
virtual void WriteBinary(std::ostream& out) {
|
||||||
|
|
||||||
|
}
|
||||||
|
virtual void WriteASCII(std::ostream& out) const {
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class Mesh
|
class Mesh
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#ifndef OutputData_OutputData_h__
|
||||||
|
#define OutputData_OutputData_h__
|
||||||
|
#include <fstream>
|
||||||
|
//template <typename T>
|
||||||
|
class OutputData
|
||||||
|
{
|
||||||
|
public://std::ostream& out, const OutputData& obj
|
||||||
|
//OutputData(T& object)
|
||||||
|
// : m_Object(object)
|
||||||
|
//{};
|
||||||
|
|
||||||
|
friend std::ostream& operator<<(std::ostream& out, const OutputData& obj)
|
||||||
|
{
|
||||||
|
obj.WriteASCII(out);
|
||||||
|
return out;
|
||||||
|
};
|
||||||
|
virtual void WriteBinary(std::ostream& out) = 0;
|
||||||
|
virtual void WriteASCII(std::ostream& out) const = 0;
|
||||||
|
|
||||||
|
//T& m_Object = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
#include "Skeleton.h"
|
#include "Skeleton.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::vector<SkeletonNode> Skeleton::DoIt()
|
std::vector<SkeletonNode> Skeleton::DoIt()
|
||||||
{
|
{
|
||||||
std::vector<SkeletonNode> m_AllSkeletons;
|
std::vector<SkeletonNode> m_AllSkeletons;
|
||||||
|
|||||||
@@ -5,23 +5,83 @@
|
|||||||
#include <array>
|
#include <array>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "MayaIncludes.h"
|
#include "MayaIncludes.h"
|
||||||
|
#include "OutputData.h"
|
||||||
struct Joint {
|
class Joint : public OutputData{
|
||||||
|
public:
|
||||||
|
//Joint() : OutputData((Joint)*this)
|
||||||
|
//{};
|
||||||
//int ParentIndex;
|
//int ParentIndex;
|
||||||
//std::array<float, 3> Rotation;
|
//std::array<float, 3> Rotation;
|
||||||
//std::array<float, 3> Translation;
|
//std::array<float, 3> Translation;
|
||||||
//std::array<float, 3> Scale;
|
//std::array<float, 3> Scale;
|
||||||
std::array<std::array<float, 4>, 4> OffsetMatrix;
|
//std::array<std::array<float, 4>, 4> OffsetMatrix;
|
||||||
|
float OffsetMatrix[4][4];
|
||||||
|
|
||||||
|
virtual void WriteBinary(std::ostream& out)
|
||||||
|
{
|
||||||
|
out.write((char*)OffsetMatrix, 4 * 4 * sizeof(float));
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void WriteASCII(std::ostream& out) const
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
out << this->OffsetMatrix[i][k] << " ";
|
||||||
|
out << endl;
|
||||||
|
}
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SkeletonNode {
|
class SkeletonNode : public OutputData {
|
||||||
|
public:
|
||||||
std::string Name;
|
std::string Name;
|
||||||
std::vector<Joint> Joints;
|
std::vector<Joint> Joints;
|
||||||
|
|
||||||
|
virtual void WriteBinary(std::ostream& out)
|
||||||
|
{
|
||||||
|
out.write(Name.c_str(), Name.size());
|
||||||
|
for (auto aJoint : Joints)
|
||||||
|
{
|
||||||
|
aJoint.WriteBinary(out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
virtual void WriteASCII(std::ostream& out) const
|
||||||
|
{
|
||||||
|
out << "Skeleton: " << Name << endl;
|
||||||
|
for (auto aJoint : Joints)
|
||||||
|
{
|
||||||
|
aJoint.WriteASCII(out);
|
||||||
|
}
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BindPoseSkeletonNode : SkeletonNode {
|
class BindPoseSkeletonNode : public SkeletonNode {
|
||||||
|
public:
|
||||||
std::vector<int> ParentIDs;
|
std::vector<int> ParentIDs;
|
||||||
std::vector<std::string> JointNames;
|
std::vector<std::string> JointNames;
|
||||||
|
virtual void WriteBinary(std::ostream& out)
|
||||||
|
{
|
||||||
|
out.write(Name.c_str(), Name.size());
|
||||||
|
for (int i = 0; i < Joints.size(); i++)
|
||||||
|
{
|
||||||
|
out.write((char*)&ParentIDs[i],sizeof(int));
|
||||||
|
Joints[i].WriteBinary(out);
|
||||||
|
out.write(JointNames[i].c_str(), JointNames[i].size());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void WriteASCII(std::ostream& out) const
|
||||||
|
{
|
||||||
|
out << "Bind Pose: " << Name << endl;
|
||||||
|
for (int i = 0; i < Joints.size(); i++)
|
||||||
|
{
|
||||||
|
out << ParentIDs[i] << endl;
|
||||||
|
Joints[i].WriteASCII(out);
|
||||||
|
out << JointNames[i] << endl;
|
||||||
|
}
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Skeleton {
|
class Skeleton {
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
#include "WriteToFile.h"
|
||||||
|
|
||||||
|
WriteToFile::~WriteToFile()
|
||||||
|
{
|
||||||
|
CloseFiles();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool WriteToFile::binaryFilePath(string filePathAndFileName)
|
||||||
|
{
|
||||||
|
binFileName = filePathAndFileName;
|
||||||
|
ofstream binFile(filePathAndFileName, ofstream::binary);
|
||||||
|
if (!binFile)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool WriteToFile::ASCIIFilePath(string filePathAndFileName)
|
||||||
|
{
|
||||||
|
ASCIIFileName = filePathAndFileName;
|
||||||
|
ofstream ASCIIFile(filePathAndFileName);
|
||||||
|
if (!ASCIIFile)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteToFile::OpenFiles()
|
||||||
|
{
|
||||||
|
if (binFile)
|
||||||
|
binFile.open(binFileName, ofstream::binary);
|
||||||
|
if (ASCIIFile)
|
||||||
|
ASCIIFile.open(ASCIIFileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteToFile::CloseFiles()
|
||||||
|
{
|
||||||
|
binFile.close();
|
||||||
|
ASCIIFile.close();
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#ifndef WriteToFile_WriteToFile_h__
|
||||||
|
#define WriteToFile_WriteToFile_h__
|
||||||
|
|
||||||
|
#include "MayaIncludes.h"
|
||||||
|
#include "OutputData.h"
|
||||||
|
#include <fstream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class WriteToFile
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
~WriteToFile();
|
||||||
|
bool binaryFilePath(string filePathAndFileName);
|
||||||
|
bool ASCIIFilePath(string filePathAndFileName);
|
||||||
|
|
||||||
|
void writeToFiles(OutputData* toWrite, unsigned int numOfElementToWrite = 1, unsigned int startIndex = 0)
|
||||||
|
{
|
||||||
|
MGlobal::displayInfo("WriteToFile::writeToFiles()");
|
||||||
|
if (ASCIIFile.is_open())
|
||||||
|
{
|
||||||
|
MGlobal::displayInfo("Writing to ASCIIfile");
|
||||||
|
for (unsigned int i = startIndex; i < numOfElementToWrite + startIndex; i++)
|
||||||
|
ASCIIFile << toWrite[i] << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (binFile.is_open())
|
||||||
|
{
|
||||||
|
MGlobal::displayInfo("Writing to binaryfile");
|
||||||
|
for (unsigned int i = startIndex; i < numOfElementToWrite + startIndex; i++)
|
||||||
|
toWrite[i].WriteBinary(binFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void OpenFiles();
|
||||||
|
void CloseFiles();
|
||||||
|
|
||||||
|
private:
|
||||||
|
string binFileName;
|
||||||
|
string ASCIIFileName;
|
||||||
|
ofstream binFile;
|
||||||
|
ofstream ASCIIFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user