SCI Seg3D Mailing List

Text archives Help


[Seg3D] Re: Re: Implementation of surface meshing from points


Chronological Thread 
  • From: mnguyen <My-Tien.Nguyen@mpimf-heidelberg.mpg.de>
  • To: seg3d@sci.utah.edu
  • Subject: [Seg3D] Re: Re: Implementation of surface meshing from points
  • Date: Wed, 25 Sep 2013 11:03:53 +0200

Thank you for your kind response, I learned very much from the Isosurface class. There is one thing I dont quite understand: the mask_value. I can see that it belongs to the MaskDataBlock class and is used to determine wether a cube vertex is inside or outside of the isosurface:

// An 8 bit index is formed where each bit corresponds to a vertex
// Bit on if vertex is inside surface, off otherwise
if ( data1[ q ] & this->mask_value_ ) 			type |= 0x1;
if ( data1[ q + 1 ] & this->mask_value_ ) 		type |= 0x2;
if ( data1[ q + this->nx_ + 1 ] & this->mask_v
alue_ )	type |= 0x4;
if ( data1[ q + this->nx_ ] & this->mask_value_ )	type |= 0x8;

      
if ( data2[ q ] & this->mask_value_ )			type |= 0x10;
if ( data2[ q + 1 ] & this->mask_value_ )		type |= 0x20;
if ( data2[ q + this->nx_ + 1 ] & this->mask_v
alue_ )	type |= 0x40;
if ( data2[ q + this->nx_ ] & this->mask_value_ )	type |= 0x80;


Can you show me how this mask value is obtained, what it actually means and why you can see from it if a vertex is inside or outside?

Am 20.09.2013 20:18, schrieb Ayla Khan:
A6771258-2C2D-41A9-A497-F09230879C77@sci.utah.edu" type="cite">
Hi My-Tien,

Have a look at the Isosurface class under src/Core/Isosurface. The isosurface is generated using Marching Cubes. The resulting triangle surface mesh is represented using vectors of points, vertices and scalar data.
The code should be fairly straightforward to read through and the algorithm is well-commented.

Ayla

On Sep 19, 2013, at 7:08 AM, mnguyen wrote:

Hello,

I am very impressed by the seg3D software and would like to learn from it, I am especially interested in the way, a 3D mesh is generated from user drawn contours.
I have already downloaded the source files. Could you point me out to the locations in the code that deal with storing the user tracings and the process of meshing?
In what kind of data structures do you store the user tracings and the generated meshes?
Do you only use the marching cubes  approach or do you also use delaunay triangulation?
Can you point me out to any documentation or tutorials which could help me understand?

Many thanks in advance
My-Tien

    




Archive powered by MHonArc 2.6.16.

Top of page