nuclear@0: #include "object.h" nuclear@0: nuclear@0: Object::Object() nuclear@0: { nuclear@0: name = ""; nuclear@0: inv_xform_valid = false; nuclear@0: } nuclear@0: nuclear@0: ObjType Object::get_type() const nuclear@0: { nuclear@0: return ObjType::null; nuclear@0: } nuclear@0: nuclear@0: void Object::set_name(const char *name) nuclear@0: { nuclear@0: this->name = name; nuclear@0: } nuclear@0: nuclear@0: const char *Object::get_name() const nuclear@0: { nuclear@0: return name.c_str(); nuclear@0: } nuclear@0: nuclear@0: void Object::set_xform(const Matrix4x4 &mat) nuclear@0: { nuclear@0: xform = mat; nuclear@0: inv_xform_valid = false; nuclear@0: } nuclear@0: nuclear@0: void Object::set_xform(const Matrix4x4 &mat, const Matrix4x4 &inv_mat) nuclear@0: { nuclear@0: xform = mat; nuclear@0: inv_xform = inv_mat; nuclear@0: inv_xform_valid = true; nuclear@0: } nuclear@0: nuclear@0: Matrix4x4 &Object::get_xform() nuclear@0: { nuclear@0: inv_xform_valid = false; nuclear@0: return xform; nuclear@0: } nuclear@0: nuclear@0: const Matrix4x4 &Object::get_xform() const nuclear@0: { nuclear@0: return xform; nuclear@0: } nuclear@0: nuclear@0: const Matrix4x4 &Object::get_inv_xform() const nuclear@0: { nuclear@0: if(!inv_xform_valid) { nuclear@0: inv_xform = xform.inverse(); nuclear@0: inv_xform_valid = true; nuclear@0: } nuclear@0: return inv_xform; nuclear@0: } nuclear@0: nuclear@0: bool Object::intersect(const Ray &ray, RayHit *hit) const nuclear@0: { nuclear@0: return false; nuclear@0: }