00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __POINTNORMALCLIPPLANE_H__
00030 #define __POINTNORMALCLIPPLANE_H__
00031
00032 #include "ClipPlane.h"
00033 #include "SFVec3f.h"
00034
00035 namespace H3D {
00036
00045 class H3DAPI_API PointNormalClipPlane :
00046 public ClipPlane {
00047 public:
00048
00053 class H3DAPI_API PlaneEq: public TypedField< SFVec4d,
00054 Types< SFVec3f, SFVec3f > > {
00057 virtual void update();
00058 };
00059
00061 PointNormalClipPlane( Inst< SFNode > _metadata = 0,
00062 Inst< SFBool > _enabled = 0,
00063 Inst< PlaneEq > _plane = 0,
00064 Inst< SFBool > _clipHaptics = 0,
00065 Inst< SFBool > _clipGraphics = 0,
00066 Inst< SFVec3f > _point = 0,
00067 Inst< SFVec3f > _normal = 0);
00068
00075 auto_ptr< SFVec3f > point;
00076
00083 auto_ptr< SFVec3f > normal;
00084
00086 static H3DNodeDatabase database;
00087 };
00088 }
00089
00090 #endif