SoObliqueSlice(3)
π SoObliqueSlice β welcome to the SoObliqueSlice(3) chapter of the Library Functions Manual π
okay bestie, sit down, hydrate, because this one is genuinely iconic. this is the manpage for SoObliqueSlice, and yes it lives in section 3 (library functions) β so like, it's a programmer girlie, not a shell-command girlie. π
β¨ NAME β¨
SoObliqueSlice β Render a slice of the volume data, with any orientation.
like. ANY orientation. she does not do "upright only", she does not do "one angle", she is versatile. periodt. π
π SYNOPSIS π
#include <VolumeViz/nodes/SoObliqueSlice.h>
π¦ Public Types
enum Interpolation { NEAREST, LINEAR }
enum AlphaUse { ALPHA_AS_IS, ALPHA_OPAQUE, ALPHA_BINARY }
πΈ Static Public Member Functions
static void initClass (void)
π Public Attributes
SoSFPlane plane
SoSFEnum interpolation
SoSFEnum alphaUse
SoSFNode alternateRep
π§ Protected Member Functions
virtual void GLRender (SoGLRenderAction *action)
virtual void rayPick (SoRayPickAction *action)
virtual void generatePrimitives (SoAction *action)
virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)
virtual void write (SoWriteAction *action)
virtual SbBool readInstance (SoInput *in, unsigned short flags)
β Friends
class SoObliqueSliceP
π Detailed Description π
Render a slice of the volume data, with any orientation.
so the way this works: you drop a node of this type after an SoVolumeData node in the scene graph, and boom β you get a single slice rendered out of the whole full volume data set. π«Ά the slice itself is specified as a plane, and that plane carries both an orientation and a position inside the volume. lowkey elegant, highkey powerful.
Here is a simple example, in the form of an iv-file:
#Inventor V2.1 ascii
SoVolumeData { fileName "ENGINE.VOL" }
Separator {
SoTransferFunction { }
DEF clipper ClipPlaneManip { }
SoVolumeRender { }
}
Separator {
SoTransferFunction { predefColorMap GLOW }
SoObliqueSlice {
interpolation LINEAR
alphaUse ALPHA_AS_IS
plane = USE clipper . plane
}
}
β οΈ okay important bestie, listen up: please note thatSoObliqueSlicewill not work with older OpenGL drivers, because they usually lack 3D-texture support. OpenGL drivers of version 1.2 and onwards support 3D-texturing, and older OpenGL drivers with theGL_EXT_texture3Dextension do too. If none of these are available, a warning message will be printed using Coin'sSoDebugError::postWarning().
π See also
SoVolumeRender, SoOrthoSlice
SoVolumeTriangleStripSet, SoVolumeIndexedTriangleStripSet,
SoVolumeIndexedFaceSet, SoVolumeFaceSet
π Since
SIM Voleon 2.0
π Member Enumeration Documentation π
π
enum SoObliqueSlice::Interpolation
Enumeration of available types of voxel colors interpolation. (yes, "threated"-adjacent energy, but the colors are being interpolated and that's the whole vibe.)
Enumerator
NEARESTβ for the "in between" pixels of the screen rasterization, pick the color of the nearest voxel. Will give sharp edges and a distinct blocky look. π (affectionate β blocky is a choice and she's serving it)LINEARβ for the "in between" pixels of the screen rasterization, interpolate by averaging the colors of several of the nearest voxels. Will give a smoother appearance, but sacrifies some "correctness" for appearance. β¨ (yes, it says "sacrifies", we're quoting the source, don't come for me)
π enum SoObliqueSlice::AlphaUse
Enumerator
ALPHA_AS_ISβ the alpha channel is rendered 'as-is'. no notes, no edits, no filters. she's showing up exactly how she is. π«ΆALPHA_OPAQUEβ the alpha channel is ignored, making the slice opaque. transparency? never met her. π₯ALPHA_BINARYβ all alpha values not equal to0is threated as value1.0f. so like, it's either there or it's not there, no in-between, no nuance. binary queen. π
π Member Data Documentation π
β SoSFPlane SoObliqueSlice::plane
The plane defining the slice.
Default value is an XY plane.
πΈ SoSFEnum SoObliqueSlice::interpolation
How to interpolate color values when rendering "in between" voxels. See SoObliqueSlice::Interpolation.
Default value is SoObliqueSlice::LINEAR.
π¦ SoSFEnum SoObliqueSlice::alphaUse
How the alpha channel should be threated during rendering. See SoObliqueSlice::AlphaUse.
Default value is SoObliqueSlice::ALPHA_AS_IS
π§ SoSFNode SoObliqueSlice::alternateRep
β οΈ NOTE: support for this field not yet implemented in SIM Voleon.
Since: SIM Voleon 2.0
π Author π
Generated automatically by Doxygen for SIMVoleon from the source code. (not me writing this by hand, bestie β the robots did it, I just gave it β¨personalityβ¨)
and that's the whole page, fr fr. no cap, every flag, every enum, every default accounted for. π
signing off from the very bottom of the page: this gorgeous thing is from SIMVoleon, Version 2.1.0, and it lives at SoObliqueSlice(3). slay, stay textured, and may your drivers always be 1.2 or better. πβ¨π¦π
π¦ where this page comes from
- fedora 43: SIMVoleon-devel 2.1.0-9.fc43 Β· BSD-3-Clause
- fedora 43: SIMVoleon-devel 2.1.0-9.fc43 Β· BSD-3-Clause
- fedora 44: SIMVoleon-devel 2.1.0-11.fc44 Β· BSD-3-Clause
- fedora 44: SIMVoleon-devel 2.1.0-11.fc44 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms