00001 #include "Primitive.h" 00002 00003 00004 namespace rcrt 00005 { 00006 00007 Primitive::Primitive(SolidObject* p):parent(p) 00008 { 00009 00010 } 00011 00012 Primitive::~Primitive() 00013 { 00014 00015 } 00016 00017 SolidObject* Primitive::getParent() const 00018 { 00019 return parent; 00020 } 00021 00022 Vec3D Primitive::getSNormalWorld(float a, float b) const 00023 { 00024 return parent->normalToWorld(getSNormal(a,b)); 00025 } 00026 00027 Vec3D Primitive::getGNormalWorld(float a, float b) const 00028 { 00029 return parent->normalToWorld(getGNormal(a,b)); 00030 } 00031 00032 Vec3D Primitive::getTangent(float a, float b) const 00033 { 00034 return Vec3D(1,1,1); 00035 } 00036 00037 Material* const Primitive::getMaterial() const 00038 { 00039 return parent->getMaterial(); 00040 } 00041 00042 Vec3D Primitive::normalToWorld(const Vec3D& no) const 00043 { 00044 return parent->normalToWorld(no); 00045 } 00046 00047 }