13 #include "geometrymod.h" 23 template <
class T>
class Array3D;
27 class MarchingCuebs2ImplicitFloodFiller;
28 class SeedBasedFloodFiller;
52 MarchingCubesModel(
const MarchingCubesModel&);
54 MarchingCubesModel& operator=(
const MarchingCubesModel&);
55 bool operator==(
const MarchingCubesModel&)
const;
58 int i0,
int i1,
int i2,
float threshold);
62 static unsigned char determineModel(
bool c000,
bool c001,
bool c010,
63 bool c011,
bool c100,
bool c101,
64 bool c110,
bool c111 );
66 static bool getCornerSign(
unsigned char model,
int corner);
67 bool writeTo(
od_ostream&,
bool binary=
true)
const;
76 unsigned char axispos_[3];
86 bool setVolumeData(
int xorigin,
int yorigin,
int zorigin,
98 bool getModel(
const int* pos,
unsigned char& model,
99 unsigned char& submodel)
const;
129 {
return tr(
"Implicit body to MarchingCubes: Contouring"); }
155 int originx,
int originy,
int originz,
166 {
return tr(
"Flood fills performed"); }
168 {
return tr(
"Processing MarchingCubes2Implicit."); }
176 bool processSeeds(
const od_int64*,
int nr );
178 friend class MarchingCubes2ImplicitDistGen;
180 bool shouldSetValue(
od_int64 offset,
int newval );
181 void setValue(
od_int64 offset,
int newval,
bool checkval);
unsigned char submodel_
Definition: marchingcubes.h:75
#define mExpClass(module)
Definition: commondefs.h:157
Definition: marchingcubes.h:150
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
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:51
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
unsigned char model_
Definition: marchingcubes.h:74
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define od_int64
Definition: plftypes.h:34
int originx_
Definition: marchingcubes.h:184
bool * newfloodfillers_
Definition: marchingcubes.h:196
bool allchanged_
set when change is trig.
Definition: marchingcubes.h:109
Definition: marchingcubes.h:48
Definition: marchingcubes.h:118
Definition: uistring.h:88
int xorigin_
Definition: marchingcubes.h:138
const MarchingCubesSurface & surface_
Definition: marchingcubes.h:183
OD class for stream read.
Definition: od_istream.h:23
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:64
const Array3D< float > & array_
Definition: marchingcubes.h:135
Byte-level data interpreter.
Definition: cbvswriter.h:20
Definition: marchingcubes.h:80
od_int64 nrdefined_
Definition: marchingcubes.h:194
Class that can execute a task.
Definition: task.h:193
MarchingCubesSurface & surface_
Definition: marchingcubes.h:133
uiString message() const
Definition: marchingcubes.h:128
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:244
int zorigin_
Definition: marchingcubes.h:140
int originy_
Definition: marchingcubes.h:185
bool isEmpty(const char *)
Notifier< MarchingCubesSurface > change
Definition: marchingcubes.h:108
static const unsigned char cMaxAxisPos
Definition: marchingcubes.h:71
MultiDimStorage< MarchingCubesModel > models_
Definition: marchingcubes.h:105
int yorigin_
Definition: marchingcubes.h:139
Threads::Barrier barrier_
Definition: marchingcubes.h:192
uiString nrDoneText() const
Definition: marchingcubes.h:165
bool nodistance_
Definition: marchingcubes.h:190
float threshold_
Definition: marchingcubes.h:136
static const unsigned char cUdfAxisPos
Definition: marchingcubes.h:70
Threads::Lock modelslock_
Definition: marchingcubes.h:106
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:149
TypeSet< od_int64 > activefloodfillers_
Definition: marchingcubes.h:197
static const unsigned char cAxisSpacing
Definition: marchingcubes.h:72
Definition: arraytesselator.h:19
int originz_
Definition: marchingcubes.h:186
Array3D< int > & result_
Definition: marchingcubes.h:193
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
uiString message() const
Definition: marchingcubes.h:167