00001 /* 00002 File: Cone.h 00003 00004 Copyright(C) C. Kotterink, Computed Graphics 00005 */ 00006 #ifndef CONE_H 00007 #define CONE_H 00008 00009 #include<ImplicitShape.h> 00010 #include<Vertex3.h> 00011 #include<real.h> 00012 00015 class Cone : public ImplicitShape 00016 { 00017 DYNAMIC_OBJECT; 00018 public: 00019 Cone( 00020 Vertex3 position = Vertex3(0.0, 0.0, 0.0), 00021 Vertex3 direction = Vertex3(0.0, 1.0, 0.0), 00022 real angle = 1.0); 00023 00024 // Inherited from ImplicitShape 00025 real distance(const Vertex3 &v); 00026 Vertex3 normal(const Vertex3 &v); 00027 00028 // Inherited from DynamicObject 00029 void parseSymbol(Token &t, ObjectFile &file); 00030 void writeParams(ostream &stream); 00031 00032 protected: 00033 // Inherited from DynamicObject 00034 void createSymbols(); 00035 00036 Vertex3 p; 00037 Vertex3 d; 00038 real a; 00039 00040 private: 00041 typedef ImplicitShape super; 00042 }; 00043 #endif