Go to the source code of this file.
Defines | |
#define | DESELECTED 0 |
#define | SELECTED 1 |
#define | UNIT 32768.0 |
#define | TET 0 |
#define | NOTET 1 |
#define | RES 10 |
#define | L 0 |
#define | R 1 |
#define | B 2 |
#define | T 3 |
#define | N 4 |
#define | F 5 |
#define | LBN 0 |
#define | LBF 1 |
#define | LTN 2 |
#define | LTF 3 |
#define | RBN 4 |
#define | RBF 5 |
#define | RTN 6 |
#define | RTF 7 |
#define | RAND() ((rand()&32767)/32767.) |
#define | HASHBIT (5) |
#define | HASHSIZE (size_t)(1<<(3*HASHBIT)) |
#define | MASK ((1<<HASHBIT)-1) |
#define | HASH(i, j, k) ((((((i)&MASK)<<HASHBIT)|((j)&MASK))<<HASHBIT)|((k)&MASK)) |
#define | BIT(i, bit) (((i)>>(bit))&1) |
#define | FLIP(i, bit) ((i)^1<<(bit)) |
#define | LB 0 |
#define | LT 1 |
#define | LN 2 |
#define | LF 3 |
#define | RB 4 |
#define | RT 5 |
#define | RN 6 |
#define | RF 7 |
#define | BN 8 |
#define | BF 9 |
#define | TN 10 |
#define | TF 11 |
Typedefs | |
typedef struct ipt | IPOINT |
typedef struct test | TEST |
typedef struct pvert | IVERTEX |
typedef struct pverts | IVERTICES |
typedef struct corner | CORNER |
typedef struct cube | CUBE |
typedef struct cubes | CUBES |
typedef struct centerlist | CENTERLIST |
typedef struct cornerlist | CORNERLIST |
typedef struct edgelist | EDGELIST |
typedef struct intlist | INTLIST |
typedef struct intlists | INTLISTS |
typedef struct process | PROCESS |
typedef struct _threeints | THREEINTS |
Functions | |
BOOL WINAPI | DllMain (HANDLE hDLL, DWORD dwReason, LPVOID lpReserved) |
void | ImplicitPolygon (void) |
BOOL | _Xmodeler (HWND parent_window, HWND info_window, X__STRUCTURE *lpevi) |
void * | calloc () |
char * | mycalloc () |
double | torus (double x, double y, double z) |
double | sphere (double x, double y, double z) |
double | blob (double x, double y, double z) |
double | sphere1 (double x, double y, double z) |
triangle (int i1, int i2, int i3, IVERTICES vertices) | |
void | InsertInVertexList (long base, long Vj, long Vi) |
void | BuildEdges (long base) |
void | makecubetable (void) |
void | freecubetable (void) |
char * | polygonize (double(*function)(), double(*size)(), int bounds, double(*x)(), double(*y)(), double(*z)(), triproc, int mode) |
CORNER * | setcorner (PROCESS *p, int i, int j, int k) |
TEST | find (int sign, PROCESS *p, double x, double y, double z) |
int | dotet (CUBE *cube, int c1, int c2, int c3, int c4, PROCESS *p) |
int | docube (CUBE *cube, PROCESS *p) |
int | nextcwedge (int ipedge, int ipface) |
int | otherface (int ipedge, int ipface) |
char * | mycalloc (int nitems, int nbytes) |
int | setcenter (table, int i, int j, int k) |
setedge (table, int i1, int j1, int k1, int i2, int j2, int k2, int vid) | |
int | getedge (table, int i1, int j1, int k1, int i2, int j2, int k2) |
int | vertid (CORNER *c1, CORNER *c2, PROCESS *p) |
addtovertices (IVERTICES *vertices, IVERTEX v) | |
vnormal (IPOINT *ipt, PROCESS *p, IPOINT *v) | |
Variables | |
int | gntris |
IVERTICES | gvertices |
THREEINTS * | listf |
#define DESELECTED 0 |
Definition at line 19 of file IMPLICIT.C.
#define SELECTED 1 |
Definition at line 20 of file IMPLICIT.C.
#define UNIT 32768.0 |
Definition at line 21 of file IMPLICIT.C.
#define TET 0 |
#define NOTET 1 |
#define RES 10 |
#define L 0 |
Definition at line 76 of file IMPLICIT.C.
Referenced by _AttachViewOpenGL(), _GetExternalImage(), _GetExternalImageSize(), _PaintMap(), _PreviewExternalEffect(), _RenderExternalEffect(), _RenderImageProcess(), AnimatorTriViewWndProc(), AnimatorViewWndProc(), BuildFilterGraph(), Create3DSfile(), DLL_ExternalEffect(), ExecuteEffect(), GetCommand(), HierarchyDlgProc(), MainAnimatorWndProc(), MainModelerWndProc(), MainWndProc(), ModelerTriViewWndProc(), ModelerViewWndProc(), nextcwedge(), NoAlphaWndProc(), OnInitDialog(), OnSelectFilter(), polygonize(), ReadFXfile(), render(), RendererMainWndProc(), Restore_Undo(), SaveDivided(), SaveObject(), SaveObjects(), SetupMainWindow(), WriteFXfile(), and WriteMapChunk().
#define R 1 |
Definition at line 77 of file IMPLICIT.C.
Referenced by _BuildAviOld(), _GetExternalImage(), _RenderImageProcess(), Bilinear(), BuildMapList(), DeleteImageMap(), EraseAll(), ExportRobotSequence(), get_material(), GetNextBitmapFromTemporaryFile(), ImportRobotSequence(), InterpolateRobot(), jpg_display_line(), LoadSystemMAP(), MakeImageFromFile(), MapEnvironment(), MapEnvironmentInDirection(), MapFrom(), nextcwedge(), png_display_line(), polygonize(), ProcessChunk3ds(), RenderTransformToRobot(), Skeletor(), tif_display_line(), VectorMaps(), WriteRobot(), and WriteTextures().
#define B 2 |
Definition at line 78 of file IMPLICIT.C.
Referenced by _BuildAviOld(), _GetExternalImage(), _RenderImageProcess(), Bilinear(), BuildMapList(), DeleteImageMap(), EraseAll(), get_material(), GetNextBitmapFromTemporaryFile(), jpg_display_line(), LoadSystemMAP(), MakeImageFromFile(), MapEnvironment(), MapEnvironmentInDirection(), MapFrom(), nextcwedge(), png_display_line(), polygonize(), ProcessChunk3ds(), tif_display_line(), VectorMaps(), and WriteTextures().
#define T 3 |
Definition at line 79 of file IMPLICIT.C.
Referenced by BuildMapList(), DeleteImageMap(), DrawFullRobot(), DrawViewRobot(), EraseAll(), nextcwedge(), polygonize(), ProcessChunk3ds(), ScaleImageMap(), and VectorMaps().
#define N 4 |
Definition at line 80 of file IMPLICIT.C.
#define F 5 |
#define LBN 0 |
#define LBF 1 |
#define LTN 2 |
#define LTF 3 |
#define RBN 4 |
#define RBF 5 |
#define RTN 6 |
#define RTF 7 |
#define RAND | ( | ) | ((rand()&32767)/32767.) |
#define HASHBIT (5) |
Definition at line 95 of file IMPLICIT.C.
#define HASHSIZE (size_t)(1<<(3*HASHBIT)) |
#define MASK ((1<<HASHBIT)-1) |
Definition at line 97 of file IMPLICIT.C.
#define HASH | ( | i, | |||
j, | |||||
k | ) | ((((((i)&MASK)<<HASHBIT)|((j)&MASK))<<HASHBIT)|((k)&MASK)) |
Definition at line 98 of file IMPLICIT.C.
Referenced by getedge(), setcenter(), setcorner(), and setedge().
#define BIT | ( | i, | |||
bit | ) | (((i)>>(bit))&1) |
#define FLIP | ( | i, | |||
bit | ) | ((i)^1<<(bit)) |
Definition at line 100 of file IMPLICIT.C.
#define LB 0 |
#define LT 1 |
#define LN 2 |
#define LF 3 |
#define RB 4 |
#define RT 5 |
#define RN 6 |
#define RF 7 |
#define BN 8 |
#define BF 9 |
#define TN 10 |
#define TF 11 |
typedef struct ipt IPOINT |
typedef struct test TEST |
typedef struct pvert IVERTEX |
typedef struct pverts IVERTICES |
typedef struct corner CORNER |
typedef struct cube CUBE |
typedef struct cubes CUBES |
typedef struct centerlist CENTERLIST |
typedef struct cornerlist CORNERLIST |
typedef struct edgelist EDGELIST |
typedef struct intlist INTLIST |
typedef struct intlists INTLISTS |
typedef struct process PROCESS |
typedef struct _threeints THREEINTS |
BOOL WINAPI DllMain | ( | HANDLE | hDLL, | |
DWORD | dwReason, | |||
LPVOID | lpReserved | |||
) |
Definition at line 31 of file IMPLICIT.C.
References DLL_PROCESS_ATTACH, DLL_PROCESS_DETACH, hThisInstance, and TRUE.
void ImplicitPolygon | ( | void | ) |
Definition at line 293 of file IMPLICIT.C.
References BuildEdges(), CreateFace, CreateVertex, id1, id2, InsertInVertexList(), MainVp, Nface, NOTET, Nvert, polygonize(), torus(), triangle(), UNIT, UpdateFaceHeap, and UpdateVertexHeap.
Referenced by _Xmodeler().
BOOL _Xmodeler | ( | HWND | parent_window, | |
HWND | info_window, | |||
X__STRUCTURE * | lpevi | |||
) |
Definition at line 52 of file IMPLICIT.C.
References FALSE, hThisInstance, IDX_STRING1, IDX_STRING2, ImplicitPolygon(), and TRUE.
void* calloc | ( | ) |
Referenced by mycalloc().
char* mycalloc | ( | ) |
Referenced by addtovertices(), makecubetable(), polygonize(), setcenter(), setcorner(), and setedge().
double torus | ( | double | x, | |
double | y, | |||
double | z | |||
) |
double sphere | ( | double | x, | |
double | y, | |||
double | z | |||
) |
double blob | ( | double | x, | |
double | y, | |||
double | z | |||
) |
double sphere1 | ( | double | x, | |
double | y, | |||
double | z | |||
) |
Definition at line 216 of file IMPLICIT.C.
triangle | ( | int | i1, | |
int | i2, | |||
int | i3, | |||
IVERTICES | vertices | |||
) |
Definition at line 227 of file IMPLICIT.C.
Referenced by _ExternalTextureProcedure(), and ImplicitPolygon().
void InsertInVertexList | ( | long | base, | |
long | Vj, | |||
long | Vi | |||
) |
void BuildEdges | ( | long | base | ) |
Definition at line 278 of file IMPLICIT.C.
References CreateEdge, MainVp, Nedge, Nvert, UpdateEdgeHeap, and X__Free.
void makecubetable | ( | void | ) |
Definition at line 758 of file IMPLICIT.C.
References BIT, mycalloc(), nextcwedge(), and otherface().
Referenced by polygonize().
void freecubetable | ( | void | ) |
char* polygonize | ( | double (*)() | function, | |
double (*)() | size, | |||
int | bounds, | |||
double (*)() | x, | |||
double (*)() | y, | |||
double (*)() | z, | |||
triproc | , | |||
int | mode | |||
) |
Definition at line 383 of file IMPLICIT.C.
References B, BIT, docube(), dotet(), double, F, find(), freecubetable(), HASHSIZE, L, LBF, LBN, LTF, LTN, makecubetable(), mycalloc(), N, R, RBF, RBN, RES, RTF, RTN, setcenter(), setcorner(), T, and TET.
Referenced by ImplicitPolygon().
Definition at line 571 of file IMPLICIT.C.
References double, HASH, and mycalloc().
Referenced by polygonize().
Definition at line 701 of file IMPLICIT.C.
References edges, and vertid().
Referenced by polygonize().
int nextcwedge | ( | int | ipedge, | |
int | ipface | |||
) |
int otherface | ( | int | ipedge, | |
int | ipface | |||
) |
char* mycalloc | ( | int | nitems, | |
int | nbytes | |||
) |
int setcenter | ( | table | , | |
int | i, | |||
int | j, | |||
int | k | |||
) |
Definition at line 829 of file IMPLICIT.C.
References HASH, and mycalloc().
Referenced by polygonize().
setedge | ( | table | , | |
int | i1, | |||
int | j1, | |||
int | k1, | |||
int | i2, | |||
int | j2, | |||
int | k2, | |||
int | vid | |||
) |
int getedge | ( | table | , | |
int | i1, | |||
int | j1, | |||
int | k1, | |||
int | i2, | |||
int | j2, | |||
int | k2 | |||
) |
Definition at line 890 of file IMPLICIT.C.
References addtovertices(), getedge(), setedge(), and vnormal().
int gntris |
Definition at line 221 of file IMPLICIT.C.
Definition at line 222 of file IMPLICIT.C.
Definition at line 223 of file IMPLICIT.C.