1 #ifndef marchingcubes_h 2 #define marchingcubes_h 15 #include "geometrymod.h" 25 template <
class T>
class Array3D;
29 class MarchingCuebs2ImplicitFloodFiller;
30 class SeedBasedFloodFiller;
54 MarchingCubesModel(
const MarchingCubesModel&);
56 MarchingCubesModel& operator=(
const MarchingCubesModel&);
57 bool operator==(
const MarchingCubesModel&)
const;
60 int i0,
int i1,
int i2,
float threshold);
64 static unsigned char determineModel(
bool c000,
bool c001,
bool c010,
65 bool c011,
bool c100,
bool c101,
66 bool c110,
bool c111 );
68 static bool getCornerSign(
unsigned char model,
int corner);
69 bool writeTo(
od_ostream&,
bool binary=
true)
const;
78 unsigned char axispos_[3];
88 bool setVolumeData(
int xorigin,
int yorigin,
int zorigin,
100 bool getModel(
const int* pos,
unsigned char& model,
101 unsigned char& submodel)
const;
129 {
return tr(
"Implicit body to MarchingCubes: Contouring"); }
155 int originx,
int originy,
int originz,
166 {
return tr(
"Processing MarchingCubes2Implicit."); }
174 bool processSeeds(
const od_int64*,
int nr );
176 friend class MarchingCubes2ImplicitDistGen;
178 bool shouldSetValue(
od_int64 offset,
int newval );
179 void setValue(
od_int64 offset,
int newval,
bool checkval);
unsigned char submodel_
Definition: marchingcubes.h:77
#define mRefCountImpl(ClassName)
Macro to setup a class with destructor for reference counting.
Definition: refcount.h:163
#define mExpClass(module)
Definition: commondefs.h:160
Definition: marchingcubes.h:150
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:26
float threshold() const
Definition: marchingcubes.h:164
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:53
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:53
unsigned char model_
Definition: marchingcubes.h:76
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
#define od_int64
Definition: plftypes.h:36
int originx_
Definition: marchingcubes.h:182
bool * newfloodfillers_
Definition: marchingcubes.h:194
bool allchanged_
set when change is trig.
Definition: marchingcubes.h:111
Definition: marchingcubes.h:50
Definition: marchingcubes.h:118
Definition: uistring.h:89
int xorigin_
Definition: marchingcubes.h:138
const MarchingCubesSurface & surface_
Definition: marchingcubes.h:181
OD class for stream read.
Definition: od_istream.h:24
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
const Array3D< float > & array_
Definition: marchingcubes.h:135
Byte-level data interpreter.
Definition: cbvswriter.h:22
Definition: marchingcubes.h:82
od_int64 nrdefined_
Definition: marchingcubes.h:192
Class that can execute a task.
Definition: task.h:169
MarchingCubesSurface & surface_
Definition: marchingcubes.h:133
uiString uiMessage() const
will be message() again in 7.x
Definition: marchingcubes.h:165
Waits for a number of threads to reach a certain point (i.e. the call to Barrier::waitForAll). Once everyone has arrived, everyone is released.
Definition: thread.h:240
int zorigin_
Definition: marchingcubes.h:140
int originy_
Definition: marchingcubes.h:183
Notifier< MarchingCubesSurface > change
Definition: marchingcubes.h:110
static const unsigned char cMaxAxisPos
Definition: marchingcubes.h:73
MultiDimStorage< MarchingCubesModel > models_
Definition: marchingcubes.h:107
int yorigin_
Definition: marchingcubes.h:139
Threads::Barrier barrier_
Definition: marchingcubes.h:190
bool nodistance_
Definition: marchingcubes.h:188
bool isEmpty(const NLAModel *mdl)
float threshold_
Definition: marchingcubes.h:136
static const unsigned char cUdfAxisPos
Definition: marchingcubes.h:72
Threads::Lock modelslock_
Definition: marchingcubes.h:108
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:153
TypeSet< od_int64 > activefloodfillers_
Definition: marchingcubes.h:195
static const unsigned char cAxisSpacing
Definition: marchingcubes.h:74
Definition: arraytesselator.h:21
int originz_
Definition: marchingcubes.h:184
uiString uiMessage() const
will be message() again in 7.x
Definition: marchingcubes.h:128
Array3D< int > & result_
Definition: marchingcubes.h:191
Specification to enable chunkwise execution of a process.
Definition: executor.h:39