00001 #ifndef SO_ALGEBRAIC_CYLINDER_H 00002 #define SO_ALGEBRAIC_CYLINDER_H 00003 00004 #include <Inventor/nodes/SoAlgebraicShape.h> 00005 #include <Inventor/fields/SoSFFloat.h> 00006 #include <Inventor/fields/SoSFBool.h> 00007 00044 class SoAlgebraicCylinder : public SoAlgebraicShape 00045 { 00046 SO_NODE_HEADER(SoAlgebraicCylinder); 00047 00048 public: 00049 00053 SoSFFloat height; 00054 00058 SoSFFloat radius; 00059 00063 SoSFBool capped; 00064 00068 SoAlgebraicCylinder (); 00069 00070 private: 00071 00075 virtual ~SoAlgebraicCylinder () {} 00076 00082 virtual void computeBBox ( SbBox3f &box, SbVec3f ¢er ); 00083 00084 private: 00085 00089 virtual void rayPick ( SoRayPickAction *action ); 00090 00094 virtual SoNode* getAlternateRep ( SoAction* action ); 00095 00096 private: 00097 00099 00102 static void initClass (); 00103 static void exitClass (); 00105 }; 00106 00107 #endif // SO_ALGEBRAIC_CYLINDER_H 00108