00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef EGGPOINT_H
00016 #define EGGPOINT_H
00017
00018 #include "pandabase.h"
00019
00020 #include "eggPrimitive.h"
00021
00022
00023
00024
00025
00026
00027 class EXPCL_PANDAEGG EggPoint : public EggPrimitive {
00028 PUBLISHED:
00029 INLINE EggPoint(const string &name = "");
00030 INLINE EggPoint(const EggPoint ©);
00031 INLINE EggPoint &operator = (const EggPoint ©);
00032
00033 INLINE bool has_thick() const;
00034 INLINE double get_thick() const;
00035 INLINE void set_thick(double thick);
00036 INLINE void clear_thick();
00037
00038 INLINE bool has_perspective() const;
00039 INLINE bool get_perspective() const;
00040 INLINE void set_perspective(bool perspective);
00041 INLINE void clear_perspective();
00042
00043 virtual bool cleanup();
00044
00045 virtual void write(ostream &out, int indent_level) const;
00046
00047 private:
00048 enum Flags {
00049 F_has_thick = 0x0001,
00050 F_perspective = 0x0002,
00051 F_has_perspective = 0x0004,
00052 };
00053
00054 int _flags;
00055 double _thick;
00056
00057 public:
00058
00059 static TypeHandle get_class_type() {
00060 return _type_handle;
00061 }
00062 static void init_type() {
00063 EggPrimitive::init_type();
00064 register_type(_type_handle, "EggPoint",
00065 EggPrimitive::get_class_type());
00066 }
00067 virtual TypeHandle get_type() const {
00068 return get_class_type();
00069 }
00070 virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
00071
00072 private:
00073 static TypeHandle _type_handle;
00074
00075 };
00076
00077 #include "eggPoint.I"
00078
00079 #endif