polly-b-gone/src/block.cpp
2020-06-06 17:36:04 -03:00

58 lines
1.1 KiB
C++

#include "block.h"
#include "material.h"
#include "model.h"
#include "physics/shape.h"
#include "physics/vector.h"
#include "room.h"
using namespace mbostock;
AxisAlignedBlock::AxisAlignedBlock(const Vector& min, const Vector& max)
: box_(min, max), model_(box_) {
}
Model& AxisAlignedBlock::model() {
return model_;
}
const Shape& AxisAlignedBlock::shape() const {
return box_;
}
void AxisAlignedBlock::setMaterial(const Material& m) {
model_.setMaterial(m);
}
void AxisAlignedBlock::setTopMaterial(const Material& m) {
model_.setTopMaterial(m);
}
float AxisAlignedBlock::slip() const {
return model_.material().slip();
}
Block::Block(const Vector& c, const Vector& x, const Vector& y, const Vector& z)
: box_(c, x, y, z), model_(box_) {
}
Model& Block::model() {
return model_;
}
const Shape& Block::shape() const {
return box_;
}
void Block::setMaterial(const Material& m) {
model_.setMaterial(m);
}
void Block::setTopMaterial(const Material& m) {
model_.setTopMaterial(m);
}
float Block::slip() const {
return model_.material().slip();
}