Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoOrthoSlice.h
Go to the documentation of this file.
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-2023 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
33#include <Inventor/SbPImpl.h>
34
35class SoChildList;
36
38
39
450class SoOrthoSlice : public SoSlice
451{
453 SO_PIMPL_BASE_PUBLIC_HEADER( SoOrthoSlice );
454
455public:
456
469
474
476 enum Axis {
482 Z
483 };
484
490
493 {
497 BACK
498 };
499
529
538
545
552
560
595
600
606 virtual SbBool affectsState() const;
607
611 virtual void setRenderProgress(SoProgressIndicator* ps) override;
612
613private:
617 void computeBBox(SoAction*, SbBox3f& box, SbVec3f& center);
618
623 virtual void write(SoWriteAction* action);
624
631 virtual SoNode* getAlternateRep(SoAction* action);
632
634 virtual void doAction(SoAction* action);
636 virtual void GLRender(SoGLRenderAction* action);
638 virtual void callback(SoCallbackAction* action);
640 virtual void rayPick(SoRayPickAction* action);
642 virtual void getBoundingBox(SoGetBoundingBoxAction* action);
643
644private:
645
646 //@TR enableBorder @TD FALSE
647 //@TR borderColor @TD 0.84 0.43 0.02
648 //@TR borderWidth @TD 2.0
649 //@TR renderSlice @TD TRUE
650
651 static void initClass();
652 static void exitClass();
653
657 virtual void notify( SoNotList* list );
658
659 virtual SoChildList* getChildren() const;
660
664 void setBackFace( SoAction* action, bool backFace );
665
669 virtual bool intersect( SoLDMNodeFrontManager* nfm, const SoLDMTileID& tileId );
670
674 void preventBorderDrawing( const bool enable );
675
679 void setForcedPick( const bool enable );
680
681
682private:
683 virtual void generatePrimitives( SoAction* action );
684 virtual void doRendering( SoGLRenderAction* action );
685
690 virtual SbBool readInstance(SoInput* in, unsigned short flags);
691
692
693SoINTERNAL private:
694
695 virtual void ldmAction( SoLdmValuationAction* action );
696
697#ifndef HIDDEN_FROM_DOC
698private:
700 virtual ~SoOrthoSlice();
701#endif // HIDDEN_FROM_DOC
702};
703
704#ifdef _WIN32
705#pragma warning( pop )
706#endif
707#endif // _SO_ORTHO_SLICE_
708
#define SoINTERNAL
SO_PIMPL_BASE_PUBLIC_DECLARATION(SoImageDataAdapter)
virtual void enable(QWidget *w, XtEventHandler f, XtPointer data, void *unused=NULL)
#define SO_NODE_HEADER(className)
Definition SoSubNode.h:151
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
void notify(SoNotList *list)
SoChildList(SoNode *parentNode, int size)
void getChildren(int &numIndices, const int *&indices)