Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
SoUniformGridClipping.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2021 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : Benjamin GRANGE (Aug 2006)
22**=======================================================================*/
23
24
25#ifndef SO_UNIFORM_GRID_CLIPPING
26#define SO_UNIFORM_GRID_CLIPPING
27
28#include <Inventor/nodes/SoTexture2.h>
29#include <Inventor/fields/SoSFBox3f.h>
30#include <Inventor/SbBox.h>
31#include <Inventor/STL/vector>
32#include <LDM/SoLDMTileID.h>
33
34class SoShaderObject;
35class SoShaderProgram;
37class SoVertexShader;
38class SoState;
39class SoVolumeData;
40class SoROI;
41class SoLDMNodeFrontMgrOctree;
42class SoCache;
43
44SO_PIMPL_PUBLIC_DECLARATION(SoUniformGridClipping);
45
253{
254
255 SO_NODE_HEADER(SoUniformGridClipping);
256
257 SO_PIMPL_PUBLIC_HEADER(SoUniformGridClipping);
258
259public:
264
271
273 enum Axis {
279 Z
280 };
281
289
305
313
321
329
339 static SbBool isSupported(SoState* state=NULL) ;
340
344 static int getMaxNumberOfUniformGrids(SoState* state=NULL);
345
346#if 1 SoDEPRECATED
350
351#endif
353private:
354 virtual void GLRender(SoGLRenderAction *action);
355 virtual void getBoundingBox(SoGetBoundingBoxAction *action);
356 virtual void doAction(SoAction *action);
357 virtual void doActionOnRTT(SoAction *action);
358 virtual void rayPick(SoRayPickAction *action);
359
360private:
361
371 SoSFBool revertMode;
372
373 static void initClass() ;
374 static void exitClass() ;
375
377 virtual void notify(SoNotList *list);
378
380 virtual void fieldHasChanged( SoField *field ); // override of SoTexture2
381
382private:
383
385 virtual ~SoUniformGridClipping();
386
387private:
388
389 void commonConstructor();
390
391#ifndef HIDDEN_FROM_DOC
392 // friendship needed to access pimpl
393 friend class SoVolumeState;
394 friend class SoUniformGridClippingElement;
395#endif
396};
397
398#endif
399
400
Abstract base class for all actions.
Definition SoAction.h:132
Base class for all fields.
Definition SoField.h:234
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Node that define...
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Region o...
Definition SoROI.h:320
Intersects objects with a ray cast into scene.
Field containing a single Boolean value.
Definition SoSFBool.h:79
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Field containing...
Definition SoSFBox3f.h:55
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a floating-point value.
Definition SoSFFloat.h:78
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract node cl...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Shader program p...
Traversal state.
Definition SoState.h:74
2D texture mapping node.
Definition SoTexture2.h:261
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Clips a volume using ...
SoSFEnum axis
Height axis: X, Y, or Z.
SoSFFloat thickness
Defines a clipping thickness in the axis direction.
static SbBool isSupported(SoState *state=NULL)
Returns TRUE if uniform grid clipping is supported by the graphics board.
SoUniformGridClipping()
Constructor.
SoDEPRECATED SoSFBox3f size
static int getMaxNumberOfUniformGrids(SoState *state=NULL)
Returns the maximum number of clipping surfaces supported by the hardware.
SoSFFloat undefinedValue
Texels in the clipping texture with this value will clip all voxels above and below the surface.
SoSFBox3f extent
Bounding box of the surface in 3D geometric coordinates.
SoSFBool clipAbove
Clip voxels above the surface.
SoSFBool clipBelow
Clip voxels below the surface.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Node that define...
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Volume data property ...
int SbBool
Boolean type.
Definition SbBase.h:87