UnityMol  1.0.25beta
MarchingCubes.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <sstream>
#include <iterator>
#include "MarchingCubes.h"
#include "SmoothMesh.h"

Macros

#define MAXGRIDSIZE   500
 

Functions

TRIANGLEmarchingCubes (const float *data, const int3 gridDim, int *nbTri, const float isolevel=0.0f)
 
int PolygoniseCube (GRIDCELL g, float iso, TRIANGLE *tri)
 
float3 VertexInterp (float isolevel, int3 p1, int3 p2, float valp1, float valp2)
 
API void ComputeMesh (const float *gridVal, const int sizeX, const int sizeY, const int sizeZ, const float isoValue, int *vertnumber, int *facenumber)
 
API float * getVertices ()
 
API int * getTriangles ()
 
API void freeMeshData ()
 
template<typename Out >
void split (const std::string &s, char delim, Out result)
 
std::vector< std::string > split (const std::string &s, char delim)
 
float * readDX (const string filePath, int *totalN, int3 *gridSize)
 
int main ()
 

Variables

TRIANGLEmesh
 
float * vertices
 
int * triangles
 
int sizeMesh = 0
 

Macro Definition Documentation

◆ MAXGRIDSIZE

#define MAXGRIDSIZE   500

Function Documentation

◆ ComputeMesh()

API void ComputeMesh ( const float *  gridVal,
const int  sizeX,
const int  sizeY,
const int  sizeZ,
const float  isoValue,
int *  vertnumber,
int *  facenumber 
)

◆ freeMeshData()

API void freeMeshData ( )

◆ getTriangles()

API int* getTriangles ( )

◆ getVertices()

API float* getVertices ( )

◆ main()

int main ( )

◆ marchingCubes()

TRIANGLE* marchingCubes ( const float *  data,
const int3  gridDim,
int *  nbTri,
const float  isolevel = 0.0f 
)

◆ PolygoniseCube()

int PolygoniseCube ( GRIDCELL  g,
float  iso,
TRIANGLE tri 
)

◆ readDX()

float* readDX ( const string  filePath,
int *  totalN,
int3 gridSize 
)

◆ split() [1/2]

template<typename Out >
void split ( const std::string &  s,
char  delim,
Out  result 
)

◆ split() [2/2]

std::vector<std::string> split ( const std::string &  s,
char  delim 
)

◆ VertexInterp()

float3 VertexInterp ( float  isolevel,
int3  p1,
int3  p2,
float  valp1,
float  valp2 
)

Variable Documentation

◆ mesh

TRIANGLE* mesh

◆ sizeMesh

int sizeMesh = 0

◆ triangles

int* triangles

◆ vertices

float* vertices