SoOrthoSlice(3)

πŸ“¦ version 2.1.0, in fedora 43, fedora 44

πŸ’… SoOrthoSlice β€” NAME ✨

okay bestie, meet SoOrthoSlice (that's the SoOrthoSlice(3) manual page, we're in section 3, library functions, iykyk) β€” it renders one orthogonal slice of the volume data. one slice. iconic behavior. πŸŽ€


πŸ¦‹ SYNOPSIS 🌸

#include <VolumeViz/nodes/SoOrthoSlice.h>

✨ Public Types ✨

  • enum Axis { X = 0, Y, Z }
  • enum Interpolation { NEAREST, LINEAR }
  • enum AlphaUse { ALPHA_AS_IS, ALPHA_OPAQUE, ALPHA_BINARY }
  • enum ClippingSide { FRONT, BACK }

🫢 Public Member Functions 🫢

  • virtual SbBool affectsState (void) const

⭐ Static Public Member Functions ⭐

  • static void initClass (void)

πŸ’– Public Attributes πŸ’–

  • SoSFUInt32 sliceNumber
  • SoSFEnum axis
  • SoSFEnum interpolation
  • SoSFEnum alphaUse
  • SoSFEnum clippingSide
  • SoSFBool clipping
  • SoSFNode alternateRep

🌈 Protected Member Functions 🌈

  • virtual void doAction (SoAction *action)
  • virtual void GLRender (SoGLRenderAction *action)
  • virtual void rayPick (SoRayPickAction *action)
  • virtual void generatePrimitives (SoAction *action)
  • virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f &center)
  • virtual void write (SoWriteAction *action)
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)

πŸ‘‘ Friends πŸ‘‘

  • class SoOrthoSliceP

πŸ’œ Detailed Description πŸ’œ

Render one orthogonal slice of the volume data.

so like. drop a node of this type into your scene graph after an SoVolumeData node, and boom β€” you get a single, axis-aligned slice carved out of the whole volume data set. it's giving "one perfect cross-section" energy. πŸ”₯

here's a lil simple example, as an iv-file:

#Inventor V2.1 ascii

SoVolumeData { fileName "ENGINE.VOL" }
SoTransferFunction { predefColorMap TEMPERATURE }

SoOrthoSlice { sliceNumber 0 }

Translation { translation 5 0 0 }

SoOrthoSlice { sliceNumber 10 }

and when you load that into an examinerviewer, you get something like this:

(yes bestie, there's a picture in the original right here β€” a whole visual moment πŸ“Έ)

🌸 See also 🌸

  • SoVolumeRender

πŸ“ Member Data Documentation πŸ“

πŸ’« SoSFUInt32 SoOrthoSlice::sliceNumber

decides where the slice will be made through the volume. like, which layer we're peeking at. πŸ‘€

default value is 0.

πŸ’« SoSFEnum SoOrthoSlice::axis

decides which plane the orthonormal slice will show. the plane will be the one perpendicular to the axis β€” so if this field is set to SoOrthoSlice::Z, the slice will lay in the X-Y plane. math girlies rise. πŸ“

default value is SoOrthoSlice::Z.

πŸ’« SoSFEnum SoOrthoSlice::alphaUse

decides how to handle the alpha values of the slice. the options, bestie:

  • set it to SoOrthoSlice::ALPHA_AS_IS and the slice gets rendered as a regular texture.
  • set it to SoOrthoSlice::ALPHA_BINARY and all texels with alpha != 0 become opaque.
  • set it to SoOrthoSlice::ALPHA_OPAQUE and all texels become opaque, no matter what the original alpha value was. full coverage, no transparency, periodt.

default value is SoOrthoSlice::ALPHA_BINARY.

πŸ’« SoSFNode SoOrthoSlice::alternateRep

⚠️ NOTE: support for this field not yet implemented in SIM Voleon. don't come for me, it's literally in the source. 😭

Since

SIM Voleon 2.0


🌟 Author 🌟

generated automatically by Doxygen for SIMVoleon from the source code. the robots did this one, not me. πŸ€–βœ¨


and that's the whole page, bestie β€” signed off with SIMVoleon, Version 2.1.0, dated SoOrthoSlice(3). slay, go render a slice. πŸ’…πŸ¦‹πŸ’–

πŸ“¦ where this page comes from