00001 #ifndef _OSGSLICER_H_ 00002 #define _OSGSLICER_H_ 00003 00004 #ifdef __sgi 00005 #pragma once 00006 #pragma set woff 3201 // unreferenced variables 00007 #endif 00008 00009 00010 #include <OSGConfig.h> 00011 00012 #include <OSGVector.h> 00013 #include <OSGMatrix.h> 00014 #include <OSGDrawActionBase.h> 00015 #include <OSGDVRClipper.h> 00016 00017 00018 OSG_BEGIN_NAMESPACE 00019 00020 00021 // forward references 00022 00023 00024 struct OSG_SYSTEMLIB_DLLMAPPING Slicer 00025 { 00026 enum SliceDir 00027 { 00028 SD_X_FRONT_TO_BACK, 00029 SD_X_BACK_TO_FRONT, 00030 SD_Y_FRONT_TO_BACK, 00031 SD_Y_BACK_TO_FRONT, 00032 SD_Z_FRONT_TO_BACK, 00033 SD_Z_BACK_TO_FRONT 00034 }; 00035 00036 // static void getModelMatrix (DrawActionBase *da, Matrix mat ); 00037 // static void getViewMatrix (DrawActionBase *da, Matrix mat ); 00038 00039 static Int32 getAASlicingDirection(DrawActionBase *da, Vec3f *pViewDir); 00040 static Int32 getSlicingDirection (DrawActionBase *da, Vec3f *pViewDir); 00041 00042 static void rotateToLocal (DrawActionBase *da, Vec3f &in, 00043 Vec3f &out ); 00044 00045 static bool isBackToFront ( Int32 sliceDir ); 00046 }; 00047 00048 OSG_END_NAMESPACE 00049 00050 #endif
1.5.5