/*
docCopyright("Steve Dekorte", 2002)
docLicense("BSD revised")
*/
#ifndef IOBOX_DEFINED
#define IOBOX_DEFINED 1
#include "IoVectorApi.h"
#include "IoObject.h"
#include "IoVector.h"
#define ISBOX(self) IoObject_hasCloneFunc_(self, (TagCloneFunc *)IoBox_rawClone)
IOVECTOR_API void *IoMessage_locals_boxArgAt_(IoMessage *self, void *locals, int n);
typedef IoObject IoBox;
typedef struct
{
IoVector *origin;
IoVector *size;
} IoBoxData;
IOVECTOR_API IoBox *IoBox_rawClone(IoBox *self);
IOVECTOR_API IoBox *IoBox_proto(void *state);
IOVECTOR_API IoBox *IoBox_new(void *state);
IOVECTOR_API void IoBox_rawCopy(IoBox *self, IoBox *other);
IOVECTOR_API void IoBox_rawSet(IoBox *self, NUM_TYPE x, NUM_TYPE y, NUM_TYPE z, NUM_TYPE w, NUM_TYPE h, NUM_TYPE d);
IOVECTOR_API IoBox *IoBox_newSet(void *state, NUM_TYPE x, NUM_TYPE y, NUM_TYPE z, NUM_TYPE w, NUM_TYPE h, NUM_TYPE d);
IOVECTOR_API IoVector *IoBox_rawOrigin(IoBox *self);
IOVECTOR_API IoVector *IoBox_rawSize(IoBox *self);
IOVECTOR_API void IoBox_free(IoBox *self);
IOVECTOR_API void IoBox_mark(IoBox *self);
/* ----------------------------------------------------------- */
IOVECTOR_API IoObject *IoBox_origin(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_size(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_width(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_height(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_depth(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_set(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_setOrigin(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_setSize(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API void IoBox_rawUnion(IoBox *self, IoBox *other);
IOVECTOR_API IoObject *IoBox_Union(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_containsPoint(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_intersectsBox(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_print(IoBox *self, IoObject *locals, IoMessage *m);
/*
IOVECTOR_API IoObject *IoBox_asString(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_Min(IoBox *self, IoObject *locals, IoMessage *m);
IOVECTOR_API IoObject *IoBox_Max(IoBox *self, IoObject *locals, IoMessage *m);
*/
#endif
syntax highlighted by Code2HTML, v. 0.9.1