00001 #ifndef IG_OPEN_INVENTOR_IG_SO3DERROR_BAR_H 00002 # define IG_OPEN_INVENTOR_IG_SO3DERROR_BAR_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Inventor/interface/IgSoShapeKit.h" 00007 # include <Inventor/fields/SoSFFloat.h> 00008 # include <Inventor/fields/SoSFVec3f.h> 00009 # ifdef WIN32 00010 # include <SoWinLeaveScope.h> 00011 # endif 00012 00013 //<<<<<< PUBLIC DEFINES >>>>>> 00014 //<<<<<< PUBLIC CONSTANTS >>>>>> 00015 //<<<<<< PUBLIC TYPES >>>>>> 00016 //<<<<<< PUBLIC VARIABLES >>>>>> 00017 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00018 //<<<<<< CLASS DECLARATIONS >>>>>> 00019 00020 // Draws a 3D point with error bars in 3 orthogonal directions. 00021 // Bars are aligned arbitrarily in space (i.e. not necessarily 00022 // parallel to x,y,z axes. 00023 // Used for e.g. a space point from a tracker. 00024 class IG_OPEN_INVENTOR_API IgSo3DErrorBar : public IgSoShapeKit 00025 { 00026 SO_KIT_HEADER (IgSo3DErrorBar); 00027 SO_KIT_CATALOG_ENTRY_HEADER (drawStyle); 00028 SO_KIT_CATALOG_ENTRY_HEADER (lineCoords); 00029 SO_KIT_CATALOG_ENTRY_HEADER (lineSet); 00030 00031 public: 00032 IgSo3DErrorBar (void); 00033 static void initClass (void); 00034 00035 SoSFFloat lineWidth; //< line thickness in pixels 00036 SoSFVec3f u1; //< first end of error bar in u dimension 00037 SoSFVec3f u2; //< second end of error bar in u dimension 00038 SoSFVec3f v1; //< first end of error bar in v dimension 00039 SoSFVec3f v2; //< second end of error bar in v dimension 00040 SoSFVec3f w1; //< first end of error bar in w dimension 00041 SoSFVec3f w2; //< second end of error bar in w dimension 00042 00043 protected: 00044 virtual void refresh (void); 00045 }; 00046 00047 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00048 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00049 00050 # ifdef WIN32 00051 # include <SoWinEnterScope.h> 00052 # endif 00053 #endif // IG_OPEN_INVENTOR_IG_SO3DERROR_BAR_H