Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

object3d.h

Go to the documentation of this file.
00001 
00009 #if !defined(OBJECT3D_H)
00010 #define OBJECT3D_H
00011 
00012 #include "hastring.h"
00013 
00014 const int OBJ3D_MOLECULE = 1;     
00015 const int OBJ3D_SURFACE  = 2;     
00016 const int OBJ3D_DOT_SURFACE = 3;  
00017 
00018 class Vec3D;
00019 class HaMat_double;
00020 
00021 class Object3D 
00023 {
00024 public:
00025 
00026         Object3D(const int new_obj_type, const char* new_name= "GEN_Object3D" );
00027         Object3D(const Object3D& obj_ref);
00028         virtual ~Object3D();
00029 
00030         bool IsConnected() { return connect_flag; }
00031         void SetConnected(const bool status) { connect_flag = status; } 
00032 
00033         bool IsDisplayed() { return (displayed_flag) ; }
00034         void SetDisplayed(const bool status) { displayed_flag = status; }
00035 
00036         virtual const char* GetObjName() const { return name.c_str(); } 
00037         virtual bool SetObjName(const char* new_name) {  name = new_name; return true;}
00038 
00039         virtual int RotateX( double theta, const Vec3D& cnt );  
00040         virtual int RotateY( double theta, const Vec3D& cnt );  
00041         virtual int RotateZ( double theta, const Vec3D& cnt );  
00042 
00043         virtual int RotateObj( const HaMat_double& rot_mat, const Vec3D& cnt); 
00044 
00045         virtual int Translate( const Vec3D& tr_vec); 
00046 
00047         int GetObjType() const { return obj_type; }
00048 
00049 protected:
00050 
00051         int obj_type; 
00052         bool connect_flag;
00053         bool displayed_flag; 
00054         
00055         HaString name;
00056 };
00057 
00058 const int SCREEN_ORIENTATION = 0;
00059 const int REFERENCE_ORIENTATION   = 1;
00060 
00061 #endif // End of !defined(OBJECT3D_H)

Generated on Tue Feb 17 02:03:07 2004 for harlem by doxygen 1.3.6