00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef COIN_SOVRMLTEXT_H
00025 #define COIN_SOVRMLTEXT_H
00026
00027 #include <Inventor/nodes/SoSubNode.h>
00028 #include <Inventor/VRMLnodes/SoVRMLGeometry.h>
00029 #include <Inventor/fields/SoMFString.h>
00030 #include <Inventor/fields/SoSFNode.h>
00031 #include <Inventor/fields/SoSFFloat.h>
00032 #include <Inventor/fields/SoMFFloat.h>
00033
00034 class SoVRMLTextP;
00035
00036 class COIN_DLL_API SoVRMLText : public SoVRMLGeometry
00037 {
00038 typedef SoVRMLGeometry inherited;
00039 SO_NODE_HEADER(SoVRMLText);
00040
00041 public:
00042 static void initClass(void);
00043 SoVRMLText(void);
00044
00045 SoMFString string;
00046 SoSFNode fontStyle;
00047 SoSFFloat maxExtent;
00048 SoMFFloat length;
00049
00050 enum Justification {
00051 BEGIN = 0x01,
00052 END = 0x02,
00053 MIDDLE = 0x03
00054 };
00055
00056 virtual void GLRender(SoGLRenderAction * action);
00057 virtual void getPrimitiveCount(SoGetPrimitiveCountAction * action);
00058
00059 virtual void notify(SoNotList * list);
00060 virtual SoChildList * getChildren(void) const;
00061
00062 protected:
00063 virtual ~SoVRMLText();
00064
00065 virtual void computeBBox(SoAction * action,
00066 SbBox3f & box, SbVec3f & center);
00067 virtual void generatePrimitives(SoAction * action);
00068 SoChildList * children;
00069
00070 private:
00071 SoVRMLTextP * pimpl;
00072
00073 };
00074
00075 #endif // ! COIN_SOVRMLTEXT_H