Skip to content
Snippets Groups Projects
Commit 7ab038c6 authored by Francois Henrotte's avatar Francois Henrotte
Browse files

bug fix

parent 69897d88
Branches
Tags
No related merge requests found
...@@ -39,7 +39,7 @@ class Matrix{ ...@@ -39,7 +39,7 @@ class Matrix{
double get_m31(){ return m31; } double get_m31(){ return m31; }
double get_m12(){ return m12; } double get_m12(){ return m12; }
double get_m22(){ return m22; } double get_m22(){ return m22; }
double get_m32(){ return m23; } double get_m32(){ return m32; }
double get_m13(){ return m13; } double get_m13(){ return m13; }
double get_m23(){ return m23; } double get_m23(){ return m23; }
double get_m33(){ return m33; } double get_m33(){ return m33; }
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include "stat_quatern.h" #include "stat_quatern.h"
using namespace CwMtx; using namespace CwMtx;
#include "Matrix.h"
//double max(const double a, const double b) { return (b>a)?b:a;} //double max(const double a, const double b) { return (b>a)?b:a;}
double min(const double a, const double b) { return (b<a)?b:a; } double min(const double a, const double b) { return (b<a)?b:a; }
double squ(const double a) { return a*a; } double squ(const double a) { return a*a; }
......
...@@ -549,30 +549,31 @@ void Frame_field::save(GRegion* gr, const std::string& filename){ ...@@ -549,30 +549,31 @@ void Frame_field::save(GRegion* gr, const std::string& filename){
m = itA->second; m = itA->second;
p = SPoint3(pVertex->x(),pVertex->y(),pVertex->z()); p = SPoint3(pVertex->x(),pVertex->y(),pVertex->z());
double val1=0, val2=0;
p1 = SPoint3(pVertex->x() + k*m.get_m11(), p1 = SPoint3(pVertex->x() + k*m.get_m11(),
pVertex->y() + k*m.get_m21(), pVertex->y() + k*m.get_m21(),
pVertex->z() + k*m.get_m31()); pVertex->z() + k*m.get_m31());
print_segment(p,p1,pVertex->z(),pVertex->z(),file); print_segment(p,p1,val1,val2,file);
p1 = SPoint3(pVertex->x() - k*m.get_m11(), p1 = SPoint3(pVertex->x() - k*m.get_m11(),
pVertex->y() - k*m.get_m21(), pVertex->y() - k*m.get_m21(),
pVertex->z() - k*m.get_m31()); pVertex->z() - k*m.get_m31());
print_segment(p,p1,pVertex->z(),pVertex->z(),file); print_segment(p,p1,val1,val2,file);
p1 = SPoint3(pVertex->x() + k*m.get_m12(), p1 = SPoint3(pVertex->x() + k*m.get_m12(),
pVertex->y() + k*m.get_m22(), pVertex->y() + k*m.get_m22(),
pVertex->z() + k*m.get_m32()); pVertex->z() + k*m.get_m32());
print_segment(p,p1,pVertex->z(),pVertex->z(),file); print_segment(p,p1,val1,val2,file);
p1 = SPoint3(pVertex->x() - k*m.get_m12(), p1 = SPoint3(pVertex->x() - k*m.get_m12(),
pVertex->y() - k*m.get_m22(), pVertex->y() - k*m.get_m22(),
pVertex->z() - k*m.get_m32()); pVertex->z() - k*m.get_m32());
print_segment(p,p1,pVertex->z(),pVertex->z(),file); print_segment(p,p1,val1,val2,file);
p1 = SPoint3(pVertex->x() + k*m.get_m13(), p1 = SPoint3(pVertex->x() + k*m.get_m13(),
pVertex->y() + k*m.get_m23(), pVertex->y() + k*m.get_m23(),
pVertex->z() + k*m.get_m33()); pVertex->z() + k*m.get_m33());
print_segment(p,p1,pVertex->z(),pVertex->z(),file); print_segment(p,p1,val1,val2,file);
p1 = SPoint3(pVertex->x() - k*m.get_m13(), p1 = SPoint3(pVertex->x() - k*m.get_m13(),
pVertex->y() - k*m.get_m23(), pVertex->y() - k*m.get_m23(),
pVertex->z() - k*m.get_m33()); pVertex->z() - k*m.get_m33());
print_segment(p,p1,pVertex->z(),pVertex->z(),file); print_segment(p,p1,val1,val2,file);
} }
file << "};\n"; file << "};\n";
file.close(); file.close();
...@@ -584,6 +585,7 @@ void Frame_field::fillTreeVolume(GRegion* gr){ ...@@ -584,6 +585,7 @@ void Frame_field::fillTreeVolume(GRegion* gr){
std::cout << "Filling ANN tree with " << n << " vertices" << std::endl; std::cout << "Filling ANN tree with " << n << " vertices" << std::endl;
annTreeData = annAllocPts(n,3); annTreeData = annAllocPts(n,3);
int index=0; int index=0;
vertIndices.clear();
for(std::map<MVertex*, std::set<MVertex*> >::iterator iter = crossData.vertex_to_vertices.begin(); for(std::map<MVertex*, std::set<MVertex*> >::iterator iter = crossData.vertex_to_vertices.begin();
iter != crossData.vertex_to_vertices.end(); ++iter){ iter != crossData.vertex_to_vertices.end(); ++iter){
MVertex* pVertex = iter->first; MVertex* pVertex = iter->first;
...@@ -591,6 +593,7 @@ void Frame_field::fillTreeVolume(GRegion* gr){ ...@@ -591,6 +593,7 @@ void Frame_field::fillTreeVolume(GRegion* gr){
annTreeData[index][1] = pVertex->y(); annTreeData[index][1] = pVertex->y();
annTreeData[index][2] = pVertex->z(); annTreeData[index][2] = pVertex->z();
vertIndices.push_back(pVertex->getNum()); vertIndices.push_back(pVertex->getNum());
index++;
} }
annTree = new ANNkd_tree(annTreeData,n,3); annTree = new ANNkd_tree(annTreeData,n,3);
#endif #endif
......
...@@ -349,7 +349,7 @@ void Filler::treat_region(GRegion* gr){ ...@@ -349,7 +349,7 @@ void Filler::treat_region(GRegion* gr){
Frame_field::init_region(gr); Frame_field::init_region(gr);
int NumSmooth = CTX::instance()->mesh.nbSmoothing; int NumSmooth = CTX::instance()->mesh.nbSmoothing;
int NumIter = 0; int NumIter = 1;
double eold; double eold;
Frame_field::init(gr); Frame_field::init(gr);
double enew = Frame_field::smooth(gr); double enew = Frame_field::smooth(gr);
...@@ -384,6 +384,8 @@ void Filler::treat_region(GRegion* gr){ ...@@ -384,6 +384,8 @@ void Filler::treat_region(GRegion* gr){
boundary_vertices.push_back(*it); boundary_vertices.push_back(*it);
} }
} }
std::ofstream file("nodes.pos");
file << "View \"test\" {\n";
for(i=0;i<boundary_vertices.size();i++){ for(i=0;i<boundary_vertices.size();i++){
x = boundary_vertices[i]->x(); x = boundary_vertices[i]->x();
...@@ -394,11 +396,9 @@ void Filler::treat_region(GRegion* gr){ ...@@ -394,11 +396,9 @@ void Filler::treat_region(GRegion* gr){
compute_parameters(node,gr); compute_parameters(node,gr);
rtree.Insert(node->min,node->max,node); rtree.Insert(node->min,node->max,node);
fifo.push(node); fifo.push(node);
print_node(node,file);
} }
//std::ofstream file("nodes.pos");
//file << "View \"test\" {\n";
count = 1; count = 1;
while(!fifo.empty()){ while(!fifo.empty()){
parent = fifo.front(); parent = fifo.front();
...@@ -448,7 +448,7 @@ void Filler::treat_region(GRegion* gr){ ...@@ -448,7 +448,7 @@ void Filler::treat_region(GRegion* gr){
count++; count++;
} }
//file << "};\n"; file << "};\n";
int option = CTX::instance()->mesh.algo3d; int option = CTX::instance()->mesh.algo3d;
CTX::instance()->mesh.algo3d = ALGO_3D_DELAUNAY; CTX::instance()->mesh.algo3d = ALGO_3D_DELAUNAY;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment