
#include "raycastnode.h"
#include "vec4.h"


RayCastNode::RayCastNode() {

	cerr << "Error: RayCastNode default constructor called" << endl;

	exit(-1);
}

RayCastNode::RayCastNode(RayCastNode *p,
						 float x1, float x2,
						 float y1, float y2,
						 float z1, float z2) : _bounds3d(x1,x2,y1,y2,z1,z2) {

	_parent = p;
}

RayCastNode::RayCastNode(RayCastNode *p, const Bounds3d &B) : _bounds3d(B) {

	_parent = p;
}

RayCastNode::~RayCastNode() {
}

RayCastNode& RayCastNode::CopyFrom(const RayCastNode &R) {

	cerr << "Warning: RayCastNode::CopyFrom() called" << endl;

	_parent = R._parent;
	_bounds3d = R._bounds3d;

	return *this;
}

ostream& operator<<(ostream &co, const RayCastNode&) {

	co << "RayCastNode (output not implemented yet)" << endl;

	return co;
}

/*
istream& operator>>(istream &ci, RayCastNode &R) {

	return ci;
}
*/


int RayCastNode::BoundTest(const Vec4 &, const Vec4 &) {

	cerr << "RayCastNode::BoundTest() not implemented yet" << endl;

	return 0;
}
