#include "opencsgConfig.h"
#include <opencsg.h>
#include <cassert>
namespace OpenCSG {
Primitive::Primitive(Operation o, unsigned int c) :
mOperation(o),
mConvexity(c),
mMinx(-1.0f),
mMiny(-1.0f),
mMinz(-1.0f),
mMaxx(1.0f),
mMaxy(1.0f),
mMaxz(1.0f) {
}
Primitive::~Primitive() { }
void Primitive::setOperation(Operation o) {
mOperation = o;
}
Operation Primitive::getOperation() const {
return mOperation;
}
void Primitive::setConvexity(unsigned int c) {
mConvexity = c;
}
unsigned int Primitive::getConvexity() const {
return mConvexity;
}
void Primitive::setBoundingBox(float minx, float miny, float minz,
float maxx, float maxy, float maxz) {
assert(minx <= maxx);
assert(miny <= maxy);
assert(minz <= maxz);
mMinx = minx;
mMiny = miny;
mMinz = minz;
mMaxx = maxx;
mMaxy = maxy;
mMaxz = maxz;
}
void Primitive::getBoundingBox(float& minx, float& miny, float& minz,
float& maxx, float& maxy, float& maxz) const {
minx = mMinx;
miny = mMiny;
minz = mMinz;
maxx = mMaxx;
maxy = mMaxy;
maxz = mMaxz;
}
}