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