Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoOrthoSlice.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-2024 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : P. ESTRADE (Mar 2000)
22**=======================================================================*/
23#ifndef _SO_ORTHO_SLICE_
24#define _SO_ORTHO_SLICE_
25
26#ifdef _WIN32
27#pragma warning( push )
28#pragma warning(disable:4251)
29#endif
30
31#include <VolumeViz/nodes/SoSlice.h>
32#include <Inventor/fields/SoSFInt32.h>
33#include <Inventor/SbPImpl.h>
34
35class SoChildList;
36
37SO_PIMPL_BASE_PUBLIC_DECLARATION(SoOrthoSlice)
38
39
435class SoOrthoSlice : public SoSlice
436{
437 SO_NODE_HEADER( SoOrthoSlice );
438 SO_PIMPL_BASE_PUBLIC_HEADER( SoOrthoSlice );
439
440public:
441
454
459
461 enum Axis {
467 Z
468 };
469
475
478 {
482 BACK
483 };
484
514
523
530
537
545
580
585
591 virtual SbBool affectsState() const;
592
596 virtual void setRenderProgress(SoProgressIndicator* ps) override;
597
598private:
602 void computeBBox(SoAction*, SbBox3f& box, SbVec3f& center);
603
608 virtual void write(SoWriteAction* action);
609
616 virtual SoNode* getAlternateRep(SoAction* action);
617
619 virtual void doAction(SoAction* action);
621 virtual void GLRender(SoGLRenderAction* action);
623 virtual void callback(SoCallbackAction* action);
625 virtual void rayPick(SoRayPickAction* action);
627 virtual void getBoundingBox(SoGetBoundingBoxAction* action);
628
629private:
630
631 //@TR enableBorder @TD FALSE
632 //@TR borderColor @TD 0.84 0.43 0.02
633 //@TR borderWidth @TD 2.0
634 //@TR renderSlice @TD TRUE
635
636 static void initClass();
637 static void exitClass();
638
642 virtual void notify( SoNotList* list );
643
644 virtual SoChildList* getChildren() const;
645
649 void setBackFace( SoAction* action, bool backFace );
650
654 virtual bool intersect( SoLDMNodeFrontManager* nfm, const SoLDMTileID& tileId );
655
659 void preventBorderDrawing( const bool enable );
660
664 void setForcedPick( const bool enable );
665
666
667private:
668 virtual void generatePrimitives( SoAction* action );
669 virtual void doRendering( SoGLRenderAction* action );
670
675 virtual SbBool readInstance(SoInput* in, unsigned short flags);
676
677
678SoINTERNAL private:
679
680 virtual void ldmAction( SoLdmValuationAction* action );
681
682#ifndef HIDDEN_FROM_DOC
683private:
685 virtual ~SoOrthoSlice();
686#endif // HIDDEN_FROM_DOC
687};
688
689#ifdef _WIN32
690#pragma warning( pop )
691#endif
692#endif // _SO_ORTHO_SLICE_
693
3D box class.
Definition SbBox.h:649
3D vector class.
Definition SbVec.h:932
Abstract base class for all actions.
Definition SoAction.h:132
Performs a generic traversal of a scene graph or path.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Used to read Open Inventor data files.
Definition SoInput.h:363
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Tile ID
Definition SoLDMTileID.h:63
Abstract base class for all database nodes.
Definition SoNode.h:145
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Ortho slice shape nod...
SoSFBool enableBorder
Enables drawing the border.
ClippingSide
Clipping Side mode.
SoSFEnum clippingSide
Specifies the clipping side.
SoSFUInt32 sliceNumber
Slice number.
SoSFBool clipping
Activate/deactivate a clipping plane on a per-slice basis.
SoSFEnum axis
Slice axis (X, Y, or Z).
SoSFInt32 dataSetId
Specifies the SoVolumeData node to use.
Axis
Slice Axis (see discussion of medical data axes in the class description)
virtual SbBool affectsState() const
Overrides default method on SoShape.
SoSFBool enableImage
Enables drawing the slice image.
SoSFFloat borderWidth
Border width in pixels.
SoSFColor borderColor
Border color.
SoOrthoSlice()
Constructor.
virtual void setRenderProgress(SoProgressIndicator *ps) override
Set an application defined SoProgressIndicator object which will raise an event before and after the ...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Class for report...
Intersects objects with a ray cast into scene.
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an RGB color.
Definition SoSFColor.h:82
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Field containing an unsigned int32_t integer.
Definition SoSFUInt32.h:80
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Abstract base class f...
Definition SoSlice.h:62
Writes a scene graph to a file.
int SbBool
Boolean type.
Definition SbBase.h:87