Skip to Content.
Sympa Menu

cgal-discuss - Re: Re: [cgal-discuss] .nef3 file format

Subject: CGAL users discussion list

List archive

Re: Re: [cgal-discuss] .nef3 file format


Chronological Thread 
  • From:
  • To:
  • Subject: Re: Re: [cgal-discuss] .nef3 file format
  • Date: Fri, 14 Dec 2007 07:32:38 +0100

All:

I have made significant progress reading .nef3 files.
I am having some problems in the general area of volumes.

I took the basic cube.off file from Nef_3/demo and
converted it to cube.nef3. It is attached below
at the end of this message.

At the facet[0] (marked as A), it references volume[0]
and shalfedge[28] (marked as B). shalfedge[28] back
references facet[0] (which is correct) and sface[8]
(marked as C). However sface[8] references volume[1]
which does not match the volume[0] referenced in facet[0].
I am confused.

Along similar lines. I am having some difficulties
trying to figure out what all of the volumes are for.
For a simple cube I was expecting a single volume,
instead there are two. Is one the inverse of the other?

I took a large cube and subtracted a smaller cube and
wound up with a .nef3 file with 3 volumes in it.
Volume 1 strictly contained facets from the outer
cube. Volume 2 contained facets from the both the
inner and outer cubes. Volume 3 contained facets
from just inner cube. Is it the case that the union
of all three volumes would equal R^3?

Also, what does the mark bit mean?

Any help straightening out my mental model of what
is going on with regards to volumes would be greatly
appreciated.

Thanks so much for you help so far.

-Wayne


cube.nef3 follows:
========================================================
Selective Nef Complex
standard
vertices 8
halfedges 24
facets 12
volumes 2
shalfedges 48
shalfloops 0
sfaces 16
/* vertices */
0 { 0 2, 0 5, 0 1, -2 | -1 -1 1 1 } 1
1 { 3 5, 6 11, 2 3, -2 | -1 1 1 1 } 1
2 { 6 8, 12 17, 4 5, -2 | 1 1 1 1 } 1
3 { 9 11, 18 23, 6 7, -2 | 1 -1 1 1 } 1
4 { 12 14, 24 29, 8 9, -2 | -1 -1 -1 1 } 1
5 { 15 17, 30 35, 10 11, -2 | -1 1 -1 1 } 1
6 { 18 20, 36 41, 12 13, -2 | 1 1 -1 1 } 1
7 { 21 23, 42 47, 14 15, -2 | 1 -1 -1 1 } 1
/* halfedges */
0 { 10, 0, 0 0 | 2 0 0 1 } 1
1 { 14, 0, 0 1 | 0 0 -2 1 } 1
2 { 5, 0, 0 3 | 0 2 0 1 } 1
3 { 17, 1, 0 6 | 0 0 -2 1 } 1
4 { 8, 1, 0 7 | 2 0 0 1 } 1
5 { 2, 1, 0 9 | 0 -2 0 1 } 1
6 { 20, 2, 0 12 | 0 0 -2 1 } 1
7 { 11, 2, 0 13 | 0 -2 0 1 } 1
8 { 4, 2, 0 15 | -2 0 0 1 } 1
9 { 23, 3, 0 18 | 0 0 -2 1 } 1
10 { 0, 3, 0 19 | -2 0 0 1 } 1
11 { 7, 3, 0 21 | 0 2 0 1 } 1
12 { 22, 4, 0 24 | 2 0 0 1 } 1
13 { 15, 4, 0 25 | 0 2 0 1 } 1
14 { 1, 4, 0 27 | 0 0 2 1 } 1
15 { 13, 5, 0 30 | 0 -2 0 1 } 1
16 { 18, 5, 0 31 | 2 0 0 1 } 1
17 { 3, 5, 0 33 | 0 0 2 1 } 1
18 { 16, 6, 0 36 | -2 0 0 1 } 1
19 { 21, 6, 0 37 | 0 -2 0 1 } 1
20 { 6, 6, 0 39 | 0 0 2 1 } 1
21 { 19, 7, 0 42 | 0 2 0 1 } 1
22 { 12, 7, 0 43 | -2 0 0 1 } 1
23 { 9, 7, 0 45 | 0 0 2 1 } 1
/* facets */
0 { 1, 28 , , 0 | 0 -1 0 -1 } 1 /* A */
^ shalfedge
1 { 0, 29 , , 1 | 0 1 0 1 } 1
2 { 3, 33 , , 1 | 0 -1 0 1 } 1
3 { 2, 32 , , 0 | 0 1 0 -1 } 1
4 { 5, 4 , , 0 | 0 0 1 -1 } 1
5 { 4, 5 , , 1 | 0 0 -1 1 } 1
6 { 7, 25 , , 1 | 0 0 1 1 } 1
7 { 6, 24 , , 0 | 0 0 -1 -1 } 1
8 { 9, 46 , , 0 | 1 0 0 -1 } 1
9 { 8, 47 , , 1 | -1 0 0 1 } 1
10 { 11, 27 , , 1 | 1 0 0 1 } 1
11 { 10, 26 , , 0 | -1 0 0 -1 } 1
/* volumes */
0 { 1 } 0
1 { 0 } 1
/* shalfedges */
0 { 1, 4, 2, 0, 0, 18, 28, 0 | 0 8 0 0 } 1
1 { 0, 3, 5, 1, 1, 29, 19, 1 | 0 -8 0 0 } 1
2 { 3, 0, 4, 1, 0, 26, 10, 11 | 8 0 0 0 } 1
3 { 2, 5, 1, 2, 1, 11, 27, 10 | -8 0 0 0 } 1
4 { 5, 2, 0, 2, 0, 8, 20, 4 | 0 0 -8 0 } 1
5 { 4, 1, 3, 0, 1, 21, 9, 5 | 0 0 8 0 } 1
6 { 7, 10, 8, 3, 2, 32, 16, 3 | 0 -8 0 0 } 1
7 { 6, 9, 11, 4, 3, 17, 33, 2 | 0 8 0 0 } 1
8 { 9, 6, 10, 4, 2, 14, 4, 4 | 0 0 -8 0 } 1
9 { 8, 11, 7, 5, 3, 5, 15, 5 | 0 0 8 0 } 1
10 { 11, 8, 6, 5, 2, 2, 34, 11 | 8 0 0 0 } 1
11 { 10, 7, 9, 3, 3, 35, 3, 10 | -8 0 0 0 } 1
12 { 13, 16, 14, 6, 4, 38, 22, 8 | -8 0 0 0 } 1
13 { 12, 15, 17, 7, 5, 23, 39, 9 | 8 0 0 0 } 1
14 { 15, 12, 16, 7, 4, 20, 8, 4 | 0 0 -8 0 } 1
15 { 14, 17, 13, 8, 5, 9, 21, 5 | 0 0 8 0 } 1
16 { 17, 14, 12, 8, 4, 6, 40, 3 | 0 -8 0 0 } 1
17 { 16, 13, 15, 6, 5, 41, 7, 2 | 0 8 0 0 } 1
18 { 19, 22, 20, 9, 6, 44, 0, 0 | 0 8 0 0 } 1
19 { 18, 21, 23, 10, 7, 1, 45, 1 | 0 -8 0 0 } 1
20 { 21, 18, 22, 10, 6, 4, 14, 4 | 0 0 -8 0 } 1
21 { 20, 23, 19, 11, 7, 15, 5, 5 | 0 0 8 0 } 1
22 { 23, 20, 18, 11, 6, 12, 46, 8 | -8 0 0 0 } 1
23 { 22, 19, 21, 9, 7, 47, 13, 9 | 8 0 0 0 } 1
24 { 25, 28, 26, 12, 8, 42, 30, 7 | 0 0 8 0 } 1
25 { 24, 27, 29, 13, 9, 31, 43, 6 | 0 0 -8 0 } 1
26 { 27, 24, 28, 13, 8, 34, 2, 11 | 8 0 0 0 } 1
27 { 26, 29, 25, 14, 9, 3, 35, 10 | -8 0 0 0 } 1
28 { 29, 26, 24, 14, 8, 0, 44, 0 | 0 8 0 0 } 1 /* B */
^facet (matches A)
^ sface
29 { 28, 25, 27, 12, 9, 45, 1, 1 | 0 -8 0 0 } 1
30 { 31, 34, 32, 15, 10, 24, 36, 7 | 0 0 8 0 } 1
31 { 30, 33, 35, 16, 11, 37, 25, 6 | 0 0 -8 0 } 1
32 { 33, 30, 34, 16, 10, 40, 6, 3 | 0 -8 0 0 } 1
33 { 32, 35, 31, 17, 11, 7, 41, 2 | 0 8 0 0 } 1
34 { 35, 32, 30, 17, 10, 10, 26, 11 | 8 0 0 0 } 1
35 { 34, 31, 33, 15, 11, 27, 11, 10 | -8 0 0 0 } 1
36 { 37, 40, 38, 18, 12, 30, 42, 7 | 0 0 8 0 } 1
37 { 36, 39, 41, 19, 13, 43, 31, 6 | 0 0 -8 0 } 1
38 { 39, 36, 40, 19, 12, 46, 12, 8 | -8 0 0 0 } 1
39 { 38, 41, 37, 20, 13, 13, 47, 9 | 8 0 0 0 } 1
40 { 41, 38, 36, 20, 12, 16, 32, 3 | 0 -8 0 0 } 1
41 { 40, 37, 39, 18, 13, 33, 17, 2 | 0 8 0 0 } 1
42 { 43, 46, 44, 21, 14, 36, 24, 7 | 0 0 8 0 } 1
43 { 42, 45, 47, 22, 15, 25, 37, 6 | 0 0 -8 0 } 1
44 { 45, 42, 46, 22, 14, 28, 18, 0 | 0 8 0 0 } 1
45 { 44, 47, 43, 23, 15, 19, 29, 1 | 0 -8 0 0 } 1
46 { 47, 44, 42, 23, 14, 22, 38, 8 | -8 0 0 0 } 1
47 { 46, 43, 45, 21, 15, 39, 23, 9 | 8 0 0 0 } 1
/* sfaces */
0 { 0, 0 , , , 1 } 1
1 { 0, 1 , , , 0 } 0
2 { 1, 6 , , , 1 } 1
3 { 1, 7 , , , 0 } 0
4 { 2, 12 , , , 1 } 1
5 { 2, 13 , , , 0 } 0
6 { 3, 18 , , , 1 } 1
7 { 3, 19 , , , 0 } 0
8 { 4, 24 , , , 1 } 1 /* C */
^ Vol (does not match A)
9 { 4, 25 , , , 0 } 0
10 { 5, 30 , , , 1 } 1
11 { 5, 31 , , , 0 } 0
12 { 6, 36 , , , 1 } 1
13 { 6, 37 , , , 0 } 0
14 { 7, 42 , , , 1 } 1
15 { 7, 43 , , , 0 } 0
/* end Selective Nef complex */



Archive powered by MHonArc 2.6.16.

Top of Page