00001 // $Id: GeomObject.cxx,v 1.2 2000/01/18 00:42:11 burnett Exp $ 00002 // 00003 // 00004 00005 #include "geometry/GeomObject.h" 00006 #include "geometry/CoordTransform.h" 00007 00008 #include <typeinfo> 00009 00010 const char* GeomObject::nameOf()const 00011 { 00012 const type_info& t1 = typeid(*this); 00013 return t1.name(); 00014 } 00015 00016 GeomObject& 00017 GeomObject::move(const Vector& v) 00018 { 00019 return transform(CoordTransform(v)); 00020 } 00021 GeomObject& GeomObject::moveX(double s){ return move(Vector(s,0,0));} 00022 GeomObject& GeomObject::moveY(double s){ return move(Vector(0,s,0));} 00023 GeomObject& GeomObject::moveZ(double s){ return move(Vector(0,0,s));} 00024 00025 GeomObject& 00026 GeomObject::rotateX(double theta) 00027 { 00028 HepRotation R; 00029 return transform(R.rotateX(theta)); 00030 } 00031 00032 00033 GeomObject & 00034 GeomObject::rotateY(double theta) 00035 { 00036 HepRotation R; 00037 return transform(R.rotateY(theta)); 00038 } 00039 00040 GeomObject & 00041 GeomObject::rotateZ(double theta) 00042 { 00043 HepRotation R; 00044 return transform(R.rotateZ(theta)); 00045 } 00046 00047 GeomObject & 00048 GeomObject::rotate(double angle, const Vector & axis) 00049 { 00050 HepRotation R; 00051 return transform(R.rotate(angle, axis)); 00052 } 00053 void GeomObject::printOn(std::ostream& )const{}; 00054 00055 00056 00057 00058
1.2.3 written by Dimitri van Heesch,
© 1997-2000