8.3.0 ************* IDF Context for following error/warning message: ************* Note -- lines truncated at 300 characters, if necessary... ************* 829 Construction, ************* indicated Name=PELLE001 ************* Only last 10 lines before error line shown.....
************* 832 AIR WALL2, !- - Layer 2 ************* 833 X-LAM, !- - Layer 3 ************* 834 POLYSTYRENE2, !- - Layer 4 ************* 835 PANNELLO VIP, !- - Layer 5 ************* 836 POLYSTYRENE2, !- - Layer 6 ************* 837 X-LAM, !- - Layer 7 ************* 838 LANA DI ROCCIAS, !- - Layer 8 ************* 839 VANO IMPIANTI, !- - Layer 9 ************* 840 LANA DI ROCCIAS, !- - Layer 10 ************* 841 LASTRA IN GESSOFIBRA, !- - Layer 11 ** Severe ** IP: IDF line~841 Error detected for Object=CONSTRUCTION ** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<- ************* IDF Context for following error/warning message: ************* Note -- lines truncated at 300 characters, if necessary... ************* 985 Construction, ************* indicated Name=ROOF001 ************* Only last 10 lines before error line shown..... ************* 988 TRAVETTI, !- - Layer 2 ************* 989 TAVOLATO, !- - Layer 3 ************* 990 POLYSTYRENE2, !- - Layer 4 ************* 991 PANNELLO VIP, !- - Layer 5 ************* 992 POLYSTYRENE2, !- - Layer 6 ************* 993 X-LAM, !- - Layer 7 ************* 994 LANA DI ROCCIAS, !- - Layer 8 ************* 995 VANO IMPIANTI, !- - Layer 9 ************* 996 LANA DI ROCCIAS, !- - Layer 10 ************* 997 LASTRA IN GESSOFIBRA, !- - Layer 11 ** Severe ** IP: IDF line~997 Error detected for Object=CONSTRUCTION ** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<- ** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details. ** Severe ** IP: Possible incorrect IDD File ** ~~~ ** IDD Version:"IDD_Version 8.3.0" ** ~~~ ** Version in IDF="8.3" not the same as expected="8.3" ** ~~~ ** Possible Invalid Numerics or other problems ** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination. ...Summary of Errors that led to program termination: ..... Reference severe error count=3 ..... Last severe error=IP: Possible incorrect IDD File ************* Warning: Node connection errors not checked - most system input has not been read (see previous warning). ************* Fatal error -- final processing. Program exited before simulations began. See previous error messages. ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors. ************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors. ************* EnergyPlus Terminated--Fatal Error Detected. 1 Warning; 3 Severe Errors; Elapsed Time=00hr 00min 0.34sec
My question is how i can fix it ??? and why it tell me that:
** Severe ** IP: Possible incorrect IDD File** ~~~ ** IDD Version:"IDD_Version 8.3.0"** ~~~ ** Version in IDF="8.3" not the same as expected="8.3"** ~~~ ** Possible Invalid Numerics or other problems** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination....Summary of Errors that led to program termination:
Help me pleaseeeeeeee
Happy new year!!!!!…
8.3.0************* IDF Context for following error/warning message:************* Note -- lines truncated at 300 characters, if necessary...************* 829 Construction,************* indicated Name=PELLE001************* Only last 10 lines before error line shown.....
************* 832 AIR WALL2, !- - Layer 2************* 833 X-LAM, !- - Layer 3************* 834 POLYSTYRENE2, !- - Layer 4************* 835 PANNELLO VIP, !- - Layer 5************* 836 POLYSTYRENE2, !- - Layer 6************* 837 X-LAM, !- - Layer 7************* 838 LANA DI ROCCIAS, !- - Layer 8************* 839 VANO IMPIANTI, !- - Layer 9************* 840 LANA DI ROCCIAS, !- - Layer 10************* 841 LASTRA IN GESSOFIBRA, !- - Layer 11** Severe ** IP: IDF line~841 Error detected for Object=CONSTRUCTION** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<-************* IDF Context for following error/warning message:************* Note -- lines truncated at 300 characters, if necessary...************* 985 Construction,************* indicated Name=ROOF001************* Only last 10 lines before error line shown.....************* 988 TRAVETTI, !- - Layer 2************* 989 TAVOLATO, !- - Layer 3************* 990 POLYSTYRENE2, !- - Layer 4************* 991 PANNELLO VIP, !- - Layer 5************* 992 POLYSTYRENE2, !- - Layer 6************* 993 X-LAM, !- - Layer 7************* 994 LANA DI ROCCIAS, !- - Layer 8************* 995 VANO IMPIANTI, !- - Layer 9************* 996 LANA DI ROCCIAS, !- - Layer 10************* 997 LASTRA IN GESSOFIBRA, !- - Layer 11** Severe ** IP: IDF line~997 Error detected for Object=CONSTRUCTION** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<-** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.** Severe ** IP: Possible incorrect IDD File** ~~~ ** IDD Version:"IDD_Version 8.3.0"** ~~~ ** Version in IDF="8.3" not the same as expected="8.3"** ~~~ ** Possible Invalid Numerics or other problems** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination....Summary of Errors that led to program termination:..... Reference severe error count=3..... Last severe error=IP: Possible incorrect IDD File************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).************* Fatal error -- final processing. Program exited before simulations began. See previous error messages.************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.************* EnergyPlus Terminated--Fatal Error Detected. 1 Warning; 3 Severe Errors; Elapsed Time=00hr 00min 0.34sec
My question is how i can fix it ??? and why it tell me that:
** Severe ** IP: Possible incorrect IDD File** ~~~ ** IDD Version:"IDD_Version 8.3.0"** ~~~ ** Version in IDF="8.3" not the same as expected="8.3"** ~~~ ** Possible Invalid Numerics or other problems** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination....Summary of Errors that led to program termination:
Help me pleaseeeeeeee
Thanks and Happy new year!!!!!…
currently within a fake euphoria framework - blame China/UAE) and a potential decision about doing/developing this or doing that … well …anyway … read and enjoy.
AEC matters: The good, the bad and the ugly.
The bad news: Rhino is NOT suitable for the job (although some use it … but only in the sense that people use Modo for the so called “hard modeling”). By job I mean things up to shop drawing level + specs + you and me (we call it Final level) – nothing to do with sketches and outlines of some abstract “schematic” topology.
The ugly news: The so called Design-Construct approach gains exponentially momentum especially in countries the likes of China/UAE/BRICS (95% of the whole AEC activity worldwide happens there). DeCo means: AEC engineers deliver some kind of study in a preliminary level and the main contractor splits (outsourcers) the job and assigns the study completion AND the construction to various sup-constructors. That thing appeared first – in a large scale - in Dubai 15 years ago. This means that the era of Sergio Pininfarina is over and out: welcome anonymous Toyota designer. In plain English: days of construction corporations fast replacing practices. Dead men walking.
The good news: All AEC related apps (Revit, AECOsim, Allplan and the likes) are in a lethargic state as regards the brave new world (based on the archaic level driven organization schemas etc etc). Of course they all claim the exact opposite and point that support BIM (nobody mention PLM) better than the other guy. But the 21st century – helped by 2 forthcoming unavoidable crisis (a) about shortage of water (b) about transition from carbon to hydrogen economy – isn’t about bureaucracy: think cost/resources optimization and “fitness” rather than China/UAE type of liquid trend. Days of euphoria fast approaching the Wall.
Top to bottom and visa versa.
Old days Titans (Oscar, Mies, Walter, Pierre Luigi, Frank, Eero, blah blah) outlined things (mostly using crayons) and the rest were struggling to translate these in reality in an one way vector like process : Top to bottom that is. These days the inverse gains momentum : when in the whole consider the part … validate … redo … validate … redo. This means bottom to top geared with top-to-bottom. In plain English : child imposes rules to parent and parent imposes rules to child. This means classic MCAD feature/history modeling (CATIA/NX/MS). This is something that Rhino can’t do (not to mention that Rhino is a surface modeler – a rather critical fact).
The parts that are bigger than the whole.
Go there ( http://www.behance.net/gallery/2885057/a-myriad-of-cables) are inspect the whole thing: it’s a parametric nightmare made with the other guy (Generative Components – slower than a Skoda + bugs + why bother?). But the whole (masts and membranes and the likes) means nothing here: focus to the details that are critical for connecting this with that. Complex feature driven solids that are made with internal (on a per se basis) parameters (like fillets required for casting or radius for cable anchoring) whilst they comply with external rules/parameters (cable angles, topology clash issues etc etc). So the whole outlines possibilities … and the part either can follow…or the part must change…or the whole must change. Can you do that with GH/Rhino? And if not what’s missing? (lot’s of things to be honest).
Some other "similar" things:
The narrow picture.
I agree with what others already said and with pretty much all Ola’s points – especially the visual drag-and-drop path mapper (i.e. a visual data manipulator so to speak) and the enable/disable components in groups capability.
Some other suggestions:
A multi canvas capability. As things are right now…it’s like working in Rhino in one view (rather unsuitable I guess). In fact …since overlapping views they don’t work in Rhino…well…you know, he he.
A working auto profile arrangement capability (non twisted Loft/Sweep and the likes). Worth 1Bn dollars that one.
Ability to locate components that caused this or that in the Rhino view: meaning a 2 way communication approach : GH makes things happen in Rhino and things can indicate their cause in the GH canvas.
A robust collection of components that bake stuff in nested blocks (emulating some primitive assembly/component way of thinking). Why may you ask? Well … the whole objective is to talk to CATIA (via STEP) don’t you agree? CATIA makes things happen in real-life not Rhino.
A robust collection of components that can create real-life parametric tensile membrane solutions (get some inspiration from FormFinder: useless because it’s academic but good to point the way). Membranes (and geodesics) are the future.
I could continue at infinitum but IMHO the big picture is worth 12345,67 “focused” GH improvements.
May the Force (the dark option) be with us all.
…
ld be the best UI.
I think difference is made by 'Slider = 10' vs 'Slider = 10.000' more than by simple input/component initialization so, why to stop when it could be even more powerful?
Slider = 0 To 5 --- Slider in [0, 5]
Slider = {3; 0 To 5}
Slider = {3;0;5}
Slider = 3;0;5
Slider = 3 0:5
Slider = 3,0,5
Slider = 3 0 5 --- Value and range (min max)
3 0.0 5 --- 3.0 0.0 5.0
3 0 5.0 --- 3.0 0.0 5.0
3.0 0 5 --- 3.0 0.0 5.0
-1 0 5 --- 0 0 5 (-1 -1 5)
6 0 5 --- 5 0 5 (6 0 6)
Slider = 0:2:6 --- Even numbers: 0, 2, 4, 6.
Slider = 1:2:7 --- Odd numbers: 1, 3, 5, 7.
0:2:5 --- 0:2:4 (or 0:2:6)
3:2:8 --- 3:2:7 (or 3:2:9)
3 1:2:7 --- 1 3 5 7 (value 3)
Bang! = 7 --- 7 outputs
Merge = 5 --- 5 inputs
What's your opinion about Bang! = 7? As it's setting number of inputs, should it use different format? Bang! 7? Bang! (7)? Bang! i7?
+ * - / \ % ^ & | ! = > --- Addition, Multiplication, Subtraction, Division, Integer Division, Modulus, Power, AND, OR, NOT, Larger than, &c.
= could be a problem.
\ Integer division or Set difference?
! could be NOT but also Factorial.
| could mean intersection.
& could mean concatenate.
1+ --- Addition: input A = 1
2* --- Multiplication: input A = 2
+{0,1,1} --- Addition: input B = {0,1,1}
0-, 1/, 2^, 10^, e^ have their own components
Flatten = {7} or Flatten = 7 --- Input P = {7} (off-topic: Why can’t P be a list?)
Pt = {1, 2, 3} --- Point XYZ, X = 1, Y = 2, Z = 3.
Swatch = 129,239,231 (102)
Swatch = 129 139 231 102
F2 = "x^2+y"
"List Length" and "List Insert" don't work properly: "Value List" is choosen. Why? What's the reason to this choice? Well, I'd like to know how the whole thing (search by keywords) works, David.
Name and nickname can be now used as keywords. "Larger" works for ">" but "greater" doesn't. Could it be improved? Could synonyms be used? Could a short description even be used (I know this could be a bit weird)?
more than --- >
more or less --- Similarity
more less --- Similarity
red green --- Sets.List components should be showed
lightning --- Split Tree
What about use Curve.Analysis or Math.Boolean to display those Tab.Panel components? Param, Math, Sets, Vector? Primitive, Special, Util? Tab, Panel, and Tab.Panel as keywords.
At the moment that I write this, I check that ignoring accents in keywords has almost been included (0.8.0009): p`anel, pañel, pánel --- panel (almost)
Shouldn’t 'Dom2' work for Dom²?
What about nested search? You type some keywords (say 'Params' or 'Params.Geometry', or 'red green', or 'lst') and then you make a fine-tunning search over previous results/keywords. Tab.Panel and/or nested geometry could be useful when search by plug-in is desired or when you want to search among .ghuser components (first 'ghuser' or 'Extra.MyPlugIn' or 'lst' keyword and then fine-tunning, specific, search).
Is 'list length' performing this nested search right now ('lst' > 'length')? Anyway, I am thinking about UI (graphical) changes; successive searches.
As I said, description (and even words from the help info) could be used to search. What about "some kind of tags"? I mean that if 'list l' to finally choose List Length has been used for a while, that could be learned. Eventually, an XML file could store these tags, so you could even edit them. That could implement description, name, nickname, help info, Tab.Panel, .ghuser, synonyms (lots of them), tags/shortcuts or wathever.
How could flatten/graft/reverse be used? Initialize graft+Simplify or graft+Bang! could be really useful.
What about expressions? I don't how could it be done properly: would Slider = x^2 (expression) work? I mean, aren't expressions parsed when initializing?
Is Panel somehow doing this? 'panel = wathever' always suppose that wathever is a string, so you can't use 'panel = <pi>'. Sets.Strings components also do this.
I've been about to write several paragraphs about height/width (resizable components: Panel, Graph Mapper, Slider, &c.), input/output names (Scripts, F components; or any component with editable input/output names), orientation (Scribble), type hint and access option, nickname, &c. but, to sum up: being able to set any property when initializing would be really useful. I'd like to know the best choice of syntax but I'm sure that, David, you're closer to the answer. What do you think about this?
Slider: 3 0 5 "MySlider" "Slider^2"
Panel: "This is the content" "This is the title"
VB: "N" List Integer 7 "r" Item Double
Addition: A 1 B 2
I guess that any unified syntax would be elegant and useful, but additional ad hoc syntax (per component) could be even better (cleaner).
What about use lists of values? I'm not sure about format: panel = ("Hello", "Bonjour", "Hola")? If any valid format/syntax is found, maybe more sophisticated fetaures could be achieved: panel = {0;0} ("A", "B", "C") {0;1} ("1", "2", "3") How would you like this to be implemented?
There is a much simpler and interesting feature that would be useful, in my opinion: being able to initialize more than one component. I mean say 7xSlider = 10.0 and get 7 sliders and I also mean multiline (multi-component) initialization: Ctrl+Intro when you want to start a new line and Intro (or even some Accept/Cancel buttons when you activate multiline mode) to initialize (every line/component), for example. I mean:
3 x Slider = 1
Panel
Mass addition
Panel
And the whole bunch of components that were in mind (pre-thinked definition) is initialized. It speeds up the workflow, making more dynamic to add components that are only available via the drop-down panels.
Should this multiplier be something like a text box adjacent to search field more than '7x'?
These are some of my thoughts about intitializing. Please let me know your opinion :]
…
This blog post is a rough approximation of the lecture I gave at the AAG10 conference in Vienna on September 21st 2010. Naturally it will be quite a different experience as the medium is quite…
Added by David Rutten at 3:27pm on September 24, 2010
.!
Feel free to ignore them, or to remove this thread.
They are just a couple of thoughts:
1st idea: It would be great to right click on a slider and reset it to a "original" value (maybe just a click on a little icon next to the name, so it is even faster).This can be handy when using Galapagos, as all the sliders gets changed...and the fastest way I found so far to reset them is to close and open the GH file.But I bet as Galapagos is so new... well... maybe this is something you already thought about!
2nd idea: Having parametric sliders (with inputs).Imagine you want a slider to vary from x to y... now you have to type in the values. It would be good to set set x and y with inputs.
This is actually very useful using Galapagos, but quite useless in all the other cases...
Probably than the best way to do this is to add a feature in Galapagos to use domains as inputs... but I read somewhere that you are working on this already!
3rd idea: Change the value (or range) of multiple sliders.Imagine you want all the sliders you have to be =2... and imagine to have 20 sliders... if you select them and right click on one, it will only change that one. (not the selection). Would be good to edit a selection. (or maybe there is a way and I don't know it?)
----
Well, don't know if that will help somehow, but they are just thoughts! ;)
Thanks if you will consider them!!!
Compliments again for the incredible hard work on GH!
Cheers,Fil…
t file** - ply file with just x,y,z locations. I got it from a 3d scanner. Here is how first few lines of file looks like - ply format ascii 1.0 comment VCGLIB generated element vertex 6183 property float x property float y property float z end_header -32.3271 -43.9859 11.5124 -32.0631 -43.983 11.4945 12.9266 -44.4913 28.2031 13.1701 -44.4918 28.2568 13.4138 -44.4892 28.2531 13.6581 -44.4834 28.1941 13.9012 -44.4851 28.2684 ... ... ... In case you need the data - please email me on **nisha.m234@gmail.com**. **Algorithm:** I am trying to find principal curvatures for extracting the ridges and valleys. The steps I am following is: 1. Take a point x 2. Find its k nearest neighbors. I used k from 3 to 20. 3. average the k nearest neighbors => gives (_x, _y, _z) 4. compute covariance matrix 5. Now I take eigen values and eigen vectors of this covariance matrix 6. I get u, v and n here from eigen vectors. u is a vector corresponding to largest eigen value v corresponding to 2nd largest n is 3rd smallest vector corresponding to smallest eigen value 7. Then for transforming the point(x,y,z) I compute matrix T T = [ui ] [u ] [x - _x] [vi ] = [v ] x [y - _y] [ni ] [n ] [z - _z] 8. for each i of the k nearest neighbors:<br> [ n1 ] [u1*u1 u1*v1 v1*v1] [ a ]<br> [ n2 ] = [u2*u2 u2*v2 v2*v2] [ b ] <br> [... ] [ ... ... ... ] [ c ] <br> [ nk ] [uk*uk uk*vk vk*vk]<br> Solve this for a, b and c with least squares 9. this equations will give me a,b,c 10. now I compute eigen values of matrix [a b b a ] 11. This will give me 2 eigen values. one is Kmin and another Kmax. **My Problem:** The output is no where close to finding the correct Ridges and Valleys. I am totally Stuck and frustrated. I am not sure where exactly I am getting it wrong. I think the normal's are not computed correctly. But I am not sure. I am very new to graphics programming and so this maths, normals, shaders go way above my head. Any help will be appreciated. **PLEASE PLEASE HELP!!** **Resources:** I am using Visual Studio 2010 + Eigen Library + ANN Library. **Other Options used** I tried using MeshLab. I used ball pivoting triangles remeshing in MeshLab and then applied the polkadot3d shader. If correctly identifies the ridges and valleys. But I am not able to code it. **My Function:** //the function outputs to ply file void getEigen() { int nPts; // actual number of data points ANNpointArray dataPts; // data points ANNpoint queryPt; // query point ANNidxArray nnIdx;// near neighbor indices ANNdistArray dists; // near neighbor distances ANNkd_tree* kdTree; // search structure //for k = 25 and esp = 2, seems to got few ridges queryPt = annAllocPt(dim); // allocate query point dataPts = annAllocPts(maxPts, dim); // allocate data points nnIdx = new ANNidx[k]; // allocate near neigh indices dists = new ANNdist[k]; // allocate near neighbor dists nPts = 0; // read data points ifstream dataStream; dataStream.open(inputFile, ios::in);// open data file dataIn = &dataStream; ifstream queryStream; queryStream.open("input/query.
pts", ios::in);// open data file queryIn = &queryStream; while (nPts < maxPts && readPt(*dataIn, dataPts[nPts])) nPts++; kdTree = new ANNkd_tree( // build search structure dataPts, // the data points nPts, // number of points dim); // dimension of space while (readPt(*queryIn, queryPt)) // read query points { kdTree->annkSearch( // search queryPt, // query point k, // number of near neighbors nnIdx, // nearest neighbors (returned) dists, // distance (returned) eps); // error bound double x = queryPt[0]; double y = queryPt[1]; double z = queryPt[2]; double _x = 0.0; double _y = 0.0; double _z = 0.0; #pragma region Compute covariance matrix for (int i = 0; i < k; i++) { _x += dataPts[nnIdx[i]][0]; _y += dataPts[nnIdx[i]][1]; _z += dataPts[nnIdx[i]][2]; } _x = _x/k; _y = _y/k; _z = _z/k; double A[3][3] = {0,0,0,0,0,0,0,0,0}; for (int i = 0; i < k; i++) { double X = dataPts[nnIdx[i]][0]; double Y = dataPts[nnIdx[i]][1]; double Z = dataPts[nnIdx[i]][2]; A[0][0] += (X-_x) * (X-_x); A[0][1] += (X-_x) * (Y-_y); A[0][2] += (X-_x) * (Z-_z); A[1][0] += (Y-_y) * (X-_x); A[1][1] += (Y-_y) * (Y-_y); A[1][2] += (Y-_y) * (Z-_z); A[2][0] += (Z-_z) * (X-_x); A[2][1] += (Z-_z) * (Y-_y); A[2][2] += (Z-_z) * (Z-_z); } MatrixXd C(3,3); C <<A[0][0]/k, A[0][1]/k, A[0][2]/k, A[1][0]/k, A[1][1]/k, A[1][2]/k, A[2][0]/k, A[2][1]/k, A[2][2]/k; #pragma endregion EigenSolver<MatrixXd> es(C); MatrixXd Eval = es.eigenvalues().real().asDiagonal(); MatrixXd Evec = es.eigenvectors().real(); MatrixXd u,v,n; double a = Eval.row(0).col(0).value(); double b = Eval.row(1).col(1).value(); double c = Eval.row(2).col(2).value(); #pragma region SET U V N if(a>b && a>c) { u = Evec.row(0); if(b>c) { v = Eval.row(1); n = Eval.row(2);} else { v = Eval.row(2); n = Eval.row(1);} } else if(b>a && b>c) { u = Evec.row(1); if(a>c) { v = Eval.row(0); n = Eval.row(2);} else { v = Eval.row(2); n = Eval.row(0);} } else { u = Eval.row(2); if(a>b) { v = Eval.row(0); n = Eval.row(1);} else { v = Eval.row(1); n = Eval.row(0);} } #pragma endregion MatrixXd O(3,3); O <<u, v, n; MatrixXd UV(k,3); VectorXd N(k,1); for( int i=0; i<k; i++) { double x = dataPts[nnIdx[i]][0];; double y = dataPts[nnIdx[i]][1];; double z = dataPts[nnIdx[i]][2];; MatrixXd X(3,1); X << x-_x, y-_y, z-_z; MatrixXd T = O * X; double ui = T.row(0).col(0).value(); double vi = T.row(1).col(0).value(); double ni = T.row(2).col(0).value(); UV.row(i) << ui * ui, ui * vi, vi * vi; N.row(i) << ni; } Vector3d S = UV.colPivHouseholderQr().solve(N); MatrixXd II(2,2); II << S.row(0).value(), S.row(1).value(), S.row(1).value(), S.row(2).value(); EigenSolver<MatrixXd> es2(II); MatrixXd Eval2 = es2.eigenvalues().real().asDiagonal(); MatrixXd Evec2 = es2.eigenvectors().real(); double kmin, kmax; if(Eval2.row(0).col(0).value() < Eval2.row(1).col(1).value()) { kmin = Eval2.row(0).col(0).value(); kmax = Eval2.row(1).col(1).value(); } else { kmax = Eval2.row(0).col(0).value(); kmin = Eval2.row(1).col(1).value(); } double thresh = 0.0020078; if (kmin < thresh && kmax > thresh ) cout << x << " " << y << " " << z << " " << 255 << " " << 0 << " " << 0 << endl; else cout << x << " " << y << " " << z << " " << 255 << " " << 255 << " " << 255 << endl; } delete [] nnIdx; delete [] dists; delete kdTree; annClose(); } Thanks, NISHA…