start new Jt Reader
This commit is contained in:
@@ -36,11 +36,9 @@
|
||||
#include <Mod/Mesh/App/Core/MeshKernel.h>
|
||||
#include <Mod/Mesh/App/Core/Elements.h>
|
||||
#include <Mod/Mesh/App/MeshPy.h>
|
||||
#include <Mod/Mesh/App/MeshPy.h>
|
||||
#include <Mod/Mesh/App/MeshFeature.h>
|
||||
|
||||
#include "JtReader.h"
|
||||
|
||||
#include "TestJtReader.h"
|
||||
using std::vector;
|
||||
using namespace MeshCore;
|
||||
|
||||
@@ -57,31 +55,29 @@ static PyObject * read(PyObject *self, PyObject *args)
|
||||
PyMem_Free(Name);
|
||||
|
||||
PY_TRY {
|
||||
std::auto_ptr<MeshCore::MeshKernel> apcKernel(new MeshCore::MeshKernel());
|
||||
//std::auto_ptr<MeshCore::MeshKernel> apcKernel(new MeshCore::MeshKernel());
|
||||
|
||||
readFile(EncodedName.c_str(),0);
|
||||
//vector<MeshGeomFacet> facets;
|
||||
//facets.resize(0 /* some size*/);
|
||||
|
||||
vector<MeshGeomFacet> facets;
|
||||
facets.resize(iterSize());
|
||||
//const SimpleMeshFacet* It=iterStart();
|
||||
//int i=0;
|
||||
//while(It=iterGetNext())
|
||||
//{
|
||||
// facets[i]._aclPoints[0].x = It->p1[0];
|
||||
// facets[i]._aclPoints[0].y = It->p1[1];
|
||||
// facets[i]._aclPoints[0].z = It->p1[2];
|
||||
// facets[i]._aclPoints[1].x = It->p2[0];
|
||||
// facets[i]._aclPoints[1].y = It->p2[1];
|
||||
// facets[i]._aclPoints[1].z = It->p2[2];
|
||||
// facets[i]._aclPoints[2].x = It->p3[0];
|
||||
// facets[i]._aclPoints[2].y = It->p3[1];
|
||||
// facets[i]._aclPoints[2].z = It->p3[2];
|
||||
//}
|
||||
|
||||
//(*apcKernel) = facets;
|
||||
|
||||
const SimpleMeshFacet* It=iterStart();
|
||||
int i=0;
|
||||
while(It=iterGetNext())
|
||||
{
|
||||
facets[i]._aclPoints[0].x = It->p1[0];
|
||||
facets[i]._aclPoints[0].y = It->p1[1];
|
||||
facets[i]._aclPoints[0].z = It->p1[2];
|
||||
facets[i]._aclPoints[1].x = It->p2[0];
|
||||
facets[i]._aclPoints[1].y = It->p2[1];
|
||||
facets[i]._aclPoints[1].z = It->p2[2];
|
||||
facets[i]._aclPoints[2].x = It->p3[0];
|
||||
facets[i]._aclPoints[2].y = It->p3[1];
|
||||
facets[i]._aclPoints[2].z = It->p3[2];
|
||||
}
|
||||
clearData();
|
||||
(*apcKernel) = facets;
|
||||
|
||||
return new Mesh::MeshPy(new Mesh::MeshObject(*(apcKernel.release())));
|
||||
//return new Mesh::MeshPy(new Mesh::MeshObject(*(apcKernel.release())));
|
||||
|
||||
} PY_CATCH;
|
||||
|
||||
@@ -108,38 +104,46 @@ open(PyObject *self, PyObject *args)
|
||||
|
||||
if(file.hasExtension("jt"))
|
||||
{
|
||||
|
||||
TestJtReader reader;
|
||||
|
||||
reader.setFile(EncodedName.c_str());
|
||||
|
||||
reader.readToc();
|
||||
|
||||
|
||||
// create new document and add Import feature
|
||||
App::Document *pcDoc = App::GetApplication().newDocument("Unnamed");
|
||||
Mesh::Feature *pcFeature = (Mesh::Feature*)pcDoc->addObject("Mesh::Feature",file.fileNamePure().c_str());
|
||||
|
||||
std::auto_ptr<MeshCore::MeshKernel> apcKernel(new MeshCore::MeshKernel());
|
||||
// App::Document *pcDoc = App::GetApplication().newDocument("Unnamed");
|
||||
// Mesh::Feature *pcFeature = (Mesh::Feature*)pcDoc->addObject("Mesh::Feature",file.fileNamePure().c_str());
|
||||
//
|
||||
// std::auto_ptr<MeshCore::MeshKernel> apcKernel(new MeshCore::MeshKernel());
|
||||
|
||||
readFile(EncodedName.c_str(),0);
|
||||
// readFile(EncodedName.c_str(),0);
|
||||
|
||||
vector<MeshGeomFacet> facets;
|
||||
facets.resize(iterSize());
|
||||
// vector<MeshGeomFacet> facets;
|
||||
// facets.resize(iterSize());
|
||||
|
||||
const SimpleMeshFacet* It=iterStart();
|
||||
int i=0;
|
||||
while(It=iterGetNext())
|
||||
{
|
||||
facets[i]._aclPoints[0].x = It->p1[0];
|
||||
facets[i]._aclPoints[0].y = It->p1[1];
|
||||
facets[i]._aclPoints[0].z = It->p1[2];
|
||||
facets[i]._aclPoints[1].x = It->p2[0];
|
||||
facets[i]._aclPoints[1].y = It->p2[1];
|
||||
facets[i]._aclPoints[1].z = It->p2[2];
|
||||
facets[i]._aclPoints[2].x = It->p3[0];
|
||||
facets[i]._aclPoints[2].y = It->p3[1];
|
||||
facets[i]._aclPoints[2].z = It->p3[2];
|
||||
i++;
|
||||
}
|
||||
clearData();
|
||||
(*apcKernel) = facets;
|
||||
pcFeature->Mesh.setValue(*(apcKernel.get()));
|
||||
// const SimpleMeshFacet* It=iterStart();
|
||||
// int i=0;
|
||||
// while(It=iterGetNext())
|
||||
// {
|
||||
// facets[i]._aclPoints[0].x = It->p1[0];
|
||||
// facets[i]._aclPoints[0].y = It->p1[1];
|
||||
// facets[i]._aclPoints[0].z = It->p1[2];
|
||||
// facets[i]._aclPoints[1].x = It->p2[0];
|
||||
// facets[i]._aclPoints[1].y = It->p2[1];
|
||||
// facets[i]._aclPoints[1].z = It->p2[2];
|
||||
// facets[i]._aclPoints[2].x = It->p3[0];
|
||||
// facets[i]._aclPoints[2].y = It->p3[1];
|
||||
// facets[i]._aclPoints[2].z = It->p3[2];
|
||||
// i++;
|
||||
// }
|
||||
// clearData();
|
||||
// (*apcKernel) = facets;
|
||||
// pcFeature->Mesh.setValue(*(apcKernel.get()));
|
||||
|
||||
//pcFeature->FileName.setValue( Name );
|
||||
pcDoc->recompute();
|
||||
////pcFeature->FileName.setValue( Name );
|
||||
// pcDoc->recompute();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -183,42 +187,42 @@ insert(PyObject *self, PyObject *args)
|
||||
Py_Error(Base::BaseExceptionFreeCADError,szBuf);
|
||||
}
|
||||
|
||||
readFile(EncodedName.c_str(),0);
|
||||
//readFile(EncodedName.c_str(),0);
|
||||
|
||||
vector<MeshGeomFacet> facets;
|
||||
//vector<MeshGeomFacet> facets;
|
||||
|
||||
if(iterSize()>0){
|
||||
facets.resize(iterSize());
|
||||
//if(iterSize()>0){
|
||||
// facets.resize(iterSize());
|
||||
|
||||
const SimpleMeshFacet* It=iterStart();
|
||||
int i=0;
|
||||
while(It=iterGetNext())
|
||||
{
|
||||
facets[i]._aclPoints[0].x = It->p1[0];
|
||||
facets[i]._aclPoints[0].y = It->p1[1];
|
||||
facets[i]._aclPoints[0].z = It->p1[2];
|
||||
facets[i]._aclPoints[1].x = It->p2[0];
|
||||
facets[i]._aclPoints[1].y = It->p2[1];
|
||||
facets[i]._aclPoints[1].z = It->p2[2];
|
||||
facets[i]._aclPoints[2].x = It->p3[0];
|
||||
facets[i]._aclPoints[2].y = It->p3[1];
|
||||
facets[i]._aclPoints[2].z = It->p3[2];
|
||||
i++;
|
||||
}
|
||||
clearData();
|
||||
Mesh::Feature *pcFeature = (Mesh::Feature*)pcDoc->addObject("Mesh::Feature",file.fileNamePure().c_str());
|
||||
|
||||
std::auto_ptr<MeshCore::MeshKernel> apcKernel(new MeshCore::MeshKernel());
|
||||
(*apcKernel) = facets;
|
||||
pcFeature->Mesh.setValue(*(apcKernel.get()));
|
||||
// const SimpleMeshFacet* It=iterStart();
|
||||
// int i=0;
|
||||
// while(It=iterGetNext())
|
||||
// {
|
||||
// facets[i]._aclPoints[0].x = It->p1[0];
|
||||
// facets[i]._aclPoints[0].y = It->p1[1];
|
||||
// facets[i]._aclPoints[0].z = It->p1[2];
|
||||
// facets[i]._aclPoints[1].x = It->p2[0];
|
||||
// facets[i]._aclPoints[1].y = It->p2[1];
|
||||
// facets[i]._aclPoints[1].z = It->p2[2];
|
||||
// facets[i]._aclPoints[2].x = It->p3[0];
|
||||
// facets[i]._aclPoints[2].y = It->p3[1];
|
||||
// facets[i]._aclPoints[2].z = It->p3[2];
|
||||
// i++;
|
||||
// }
|
||||
// clearData();
|
||||
// Mesh::Feature *pcFeature = (Mesh::Feature*)pcDoc->addObject("Mesh::Feature",file.fileNamePure().c_str());
|
||||
//
|
||||
// std::auto_ptr<MeshCore::MeshKernel> apcKernel(new MeshCore::MeshKernel());
|
||||
// (*apcKernel) = facets;
|
||||
// pcFeature->Mesh.setValue(*(apcKernel.get()));
|
||||
|
||||
//pcDoc->recompute();
|
||||
// //pcDoc->recompute();
|
||||
|
||||
}else{
|
||||
clearData();
|
||||
//Py_Error(Base::BaseExceptionFreeCADError,"No Mesh in file");
|
||||
Base::Console().Warning("No Mesh in file: %s\n",EncodedName.c_str());
|
||||
}
|
||||
//}else{
|
||||
// clearData();
|
||||
// //Py_Error(Base::BaseExceptionFreeCADError,"No Mesh in file");
|
||||
// Base::Console().Warning("No Mesh in file: %s\n",EncodedName.c_str());
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user