1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: box.C,v 1.4.28.1 2007-03-25 22:02:33 oliver Exp $
#include <BALL/VIEW/PRIMITIVES/box.h>
using namespace std;
namespace BALL
{
namespace VIEW
{
Box::Box()
: GeometricObject(),
Box3()
{
}
Box::Box(const Box& box)
: GeometricObject(box),
Box3(box)
{
}
Box::Box(const Vector3& point,
const Vector3& right_vector,
const Vector3& height_vector,
float depth)
: GeometricObject(),
Box3(point, right_vector, height_vector, depth)
{
}
Box::Box(const Vector3& point,
const Vector3& right_vector,
const Vector3& height_vector,
const Vector3& depth_vector)
: GeometricObject(),
Box3(point, right_vector, height_vector, depth_vector)
{}
Box::~Box()
{
#ifdef BALL_VIEW_DEBUG
Log.error() << "Destructing object " << (void *)this
<< " of class " << RTTI::getName<Box>() << std::endl;
#endif
}
void Box::clear()
{
GeometricObject::clear();
Box3::clear();
}
void Box::set(const Box& box)
{
GeometricObject::set(box);
Box3::set(box);
}
const Box& Box::operator = (const Box& box)
{
set(box);
return *this;
}
bool Box::isValid() const
{
return (GeometricObject::isValid() &&
Box3::isValid());
}
void Box::dump(ostream& s, Size depth) const
{
BALL_DUMP_STREAM_PREFIX(s);
BALL_DUMP_DEPTH(s, depth);
BALL_DUMP_HEADER(s, this, this);
GeometricObject::dump(s, depth + 1);
Box3::dump(s, depth + 1);
BALL_DUMP_STREAM_SUFFIX(s);
}
void Box::getVertices(vector<Vector3>& vertices) const
{
vertices.push_back(point_);
vertices.push_back(point_ + right_vector_ * width_ + height_vector_ * height_ + depth_vector_ * depth_);
}
} // namespace VIEW
} // namespace BALL
|