Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

marchingcubes.cpp File Reference

#include "marchingcubes.h"
#include <time.h>
#include "transform.h"
#include "emobject.h"
#include "vec3.h"

Include dependency graph for marchingcubes.cpp:

Include dependency graph

Go to the source code of this file.

Defines

#define min(a, b)   (((a) < (b)) ? (a) : (b))
#define max(a, b)   (((a) > (b)) ? (a) : (b))

Variables

const int a2fVertexOffset [8][3]
const int a2fPosXOffset [4][3]
const int a2fPosYOffset [4][3]
const int a2fPosZOffset [4][3]
const int a2fPosXPosYOffset [2][3]
const int a2fPosXPosZOffset [2][3]
const int a2fPosYPosZOffset [2][3]
const int a2fPosXPosZPosYOffset [3]
const int a2OddXOffset [8]
const int a2OddYOffset [8]
const int a2OddZOffset [8]
const int a2iEdgeConnection [12][2]
const float a2fEdgeDirection [12][3]
const int edgeLookUp [12][4]
int aiCubeEdgeFlags [256]
int a2iTriangleConnectionTable [256][16]


Define Documentation

#define max a,
 )     (((a) > (b)) ? (a) : (b))
 

Definition at line 51 of file marchingcubes.cpp.

Referenced by EMAN::EMData::calc_fourier_shell_correlation(), EMAN::EMData::calc_max_location(), EMAN::MarchingCubes::calculate_surface(), EMAN::MarchingCubes::draw_cube(), EMAN::Processor::EMFourierFilterFunc(), EMAN::EMData::extract_plane_rect(), EMAN::Util::find_max(), EMAN::Util::find_min_and_max(), EMAN::nnSSNR_ctfReconstructor::finish(), EMAN::nn4_ctf_rectReconstructor::finish(), EMAN::nn4_ctfReconstructor::finish(), EMAN::nnSSNR_Reconstructor::finish(), EMAN::nn4_rectReconstructor::finish(), EMAN::nn4Reconstructor::finish(), GCVmin_Tik(), EMAN::EMUtil::getRenderMinMax(), EMAN::Util::image_mutation(), EMAN::Util::k_means_cont_table_(), main(), max2d(), max3d(), EMAN::EMData::max_3D_pixel_error(), mono(), parabld(), EMAN::HistogramBin::process_inplace(), EMAN::ClampingProcessor::process_inplace(), EMAN::NormalizeByMassProcessor::process_inplace(), EMAN::EMData::rotavg(), EMAN::MrcIO::update_stat(), EMAN::EMData::update_stat(), wustl_mm::GraySkeletonCPP::VolumeSkeletonizer::VoxelOr(), and EMAN::Util::WTF().

#define min a,
 )     (((a) < (b)) ? (a) : (b))
 

Definition at line 50 of file marchingcubes.cpp.

Referenced by apmq(), EMAN::EMData::calc_min_location(), EMAN::MarchingCubes::calculate_surface(), EMAN::MarchingCubes::draw_cube(), EMAN::EMData::find_3d_threshold(), EMAN::Util::find_min_and_max(), EMAN::BoxSVDClassifier::getMapping(), EMAN::EMUtil::getRenderMinMax(), EMAN::EMData::helicise(), EMAN::Util::histc(), EMAN::Util::image_mutation(), mono(), parabld(), EMAN::HistogramBin::process_inplace(), EMAN::ClampingProcessor::process_inplace(), EMAN::TestImageCylinder::process_inplace(), EMAN::TestImageAxes::process_inplace(), EMAN::NormalizeByMassProcessor::process_inplace(), recons3d_HyBR_mpi_Cart(), EMAN::EMData::rot_scale_trans(), EMAN::EMData::rot_scale_trans_background(), EMAN::EMData::rotavg(), EMAN::EMData::rotavg_i(), EMAN::MrcIO::update_stat(), EMAN::EMData::update_stat(), and EMAN::Util::WTF().


Variable Documentation

const float a2fEdgeDirection[12][3] [static]
 

Initial value:

{
                {1.0, 0.0, 0.0},{0.0, 1.0, 0.0},{-1.0, 0.0, 0.0},{0.0, -1.0, 0.0},
                {1.0, 0.0, 0.0},{0.0, 1.0, 0.0},{-1.0, 0.0, 0.0},{0.0, -1.0, 0.0},
                {0.0, 0.0, 1.0},{0.0, 0.0, 1.0},{ 0.0, 0.0, 1.0},{0.0,  0.0, 1.0}
}

Definition at line 128 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::marching_cube().

const int a2fPosXOffset[4][3] [static]
 

Initial value:

{
        {2, 0, 0},{2, 1, 0},
        {2, 0, 1},{2, 1, 1}
}

Definition at line 61 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube().

const int a2fPosXPosYOffset[2][3] [static]
 

Initial value:

{
        {2, 2, 0},{2, 2, 1}
}

Definition at line 79 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube().

const int a2fPosXPosZOffset[2][3] [static]
 

Initial value:

{
        {2, 0, 2},{2, 1, 2}
}

Definition at line 84 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube().

const int a2fPosXPosZPosYOffset[3] [static]
 

Initial value:

{
        2, 2, 2
}

Definition at line 95 of file marchingcubes.cpp.

const int a2fPosYOffset[4][3] [static]
 

Initial value:

{
        {1, 2, 0},{0, 2, 0},
        {1, 2, 1},{0, 2, 1}
}

Definition at line 67 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube().

const int a2fPosYPosZOffset[2][3] [static]
 

Initial value:

{
        {1, 2, 2},{0, 2, 2}
}

Definition at line 89 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube().

const int a2fPosZOffset[4][3] [static]
 

Initial value:

{
        {0, 0, 2},{1, 0, 2},
        {1, 1, 2},{0, 1, 2}
}

Definition at line 73 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube().

const int a2fVertexOffset[8][3] [static]
 

Initial value:

{
                {0, 0, 0},{1, 0, 0},{1, 1, 0},{0, 1, 0},
                {0, 0, 1},{1, 0, 1},{1, 1, 1},{0, 1, 1}
}

Definition at line 54 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::draw_cube(), and EMAN::MarchingCubes::marching_cube().

const int a2iEdgeConnection[12][2] [static]
 

Initial value:

{
                {0,1}, {1,2}, {2,3}, {3,0},
                {4,5}, {5,6}, {6,7}, {7,4},
                {0,4}, {1,5}, {2,6}, {3,7}
}

Definition at line 120 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::marching_cube().

int a2iTriangleConnectionTable[256][16]
 

Definition at line 178 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::marching_cube().

const int a2OddXOffset[8] [static]
 

Initial value:

{
        1,0,0,1,
        1,0,0,1
}

Definition at line 101 of file marchingcubes.cpp.

const int a2OddYOffset[8] [static]
 

Initial value:

{
        1,1,0,0,
        1,1,0,0
}

Definition at line 107 of file marchingcubes.cpp.

const int a2OddZOffset[8] [static]
 

Initial value:

{
        1,1,1,1,
        0,0,0,0
}

Definition at line 113 of file marchingcubes.cpp.

int aiCubeEdgeFlags[256]
 

Initial value:

{
        0x000, 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c, 0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00,
        0x190, 0x099, 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c, 0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90,
        0x230, 0x339, 0x033, 0x13a, 0x636, 0x73f, 0x435, 0x53c, 0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30,
        0x3a0, 0x2a9, 0x1a3, 0x0aa, 0x7a6, 0x6af, 0x5a5, 0x4ac, 0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0,
        0x460, 0x569, 0x663, 0x76a, 0x066, 0x16f, 0x265, 0x36c, 0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60,
        0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0x0ff, 0x3f5, 0x2fc, 0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
        0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x055, 0x15c, 0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950,
        0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0x0cc, 0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0,
        0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc, 0x0cc, 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
        0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c, 0x15c, 0x055, 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650,
        0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc, 0x2fc, 0x3f5, 0x0ff, 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
        0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c, 0x36c, 0x265, 0x16f, 0x066, 0x76a, 0x663, 0x569, 0x460,
        0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac, 0x4ac, 0x5a5, 0x6af, 0x7a6, 0x0aa, 0x1a3, 0x2a9, 0x3a0,
        0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c, 0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x033, 0x339, 0x230,
        0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c, 0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x099, 0x190,
        0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c, 0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x000
}

Definition at line 150 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::marching_cube().

const int edgeLookUp[12][4] [static]
 

Initial value:

{
        {0,0,0,0},{1,0,0,1},{0,1,0,0},{0,0,0,1},
        {0,0,1,0},{1,0,1,1},{0,1,1,0},{0,0,1,1},
        {0,0,0,2},{1,0,0,2},{1,1,0,2},{0,1,0,2}
}

Definition at line 136 of file marchingcubes.cpp.

Referenced by EMAN::MarchingCubes::marching_cube().


Generated on Thu Nov 17 12:44:34 2011 for EMAN2 by  doxygen 1.3.9.1