SOLIGHT(3iv)
β¨ SoLight β¨ β the abstract base class for all light source nodes π‘
okay bestie, come sit with me, we're reading the SoLight(3IV) manual page together and honestly? it's giving β¨ foundational β¨. this one lives in the 3IV manual and it's the blueprint every other light in your scene graph is built on. let's get into it π«Ά
π INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoLight
so yeah, she's got ancestors. a whole lineage. main character energy runs in the family π
π SYNOPSIS
#include <Inventor/nodes/SoLight.h>
π Fields from class SoLight
SoSFBool on
SoSFFloat intensity
SoSFColor color
π Methods from class SoLight
static SoType getClassTypeId()
π¦ Methods from class SoNode
void setOverride(SbBool state)
SbBool isOverride() const
SoNode * copy(SbBool copyConnections = FALSE) const
virtual SbBool affectsState() const
static SoNode * getByName(const SbName &name)
static int getByName(const SbName &name, SoNodeList &list)
π¦ Methods from class SoFieldContainer
void setToDefaults()
SbBool hasDefaultValues() const
SbBool fieldsAreEqual(const SoFieldContainer *fc) const
void copyFieldValues(const SoFieldContainer *fc, SbBool
copyConnections = FALSE)
SbBool set(const char *fieldDataString)
void get(SbString &fieldDataString)
virtual int getFields(SoFieldList &resultList) const
virtual SoField * getField(const SbName &fieldName) const
SbBool getFieldName(const SoField *field, SbName &fieldName)
const
SbBool isNotifyEnabled() const
SbBool enableNotify(SbBool flag)
π¦ Methods from class SoBase
void ref()
void unref() const
void unrefNoDelete() const
void touch()
virtual SoType getTypeId() const
SbBool isOfType(SoType type) const
virtual void setName(const SbName &name)
virtual SbName getName() const
likeβ¦ look at all those inherited methods. she didn't just inherit trauma, she inherited capabilities πβ¨
π‘ DESCRIPTION
okay so. SoLight is the abstract base class for all light nodes. periodt. she doesn't do the lighting herself β she's the blueprint, the template, the queen the other lights copy their whole thing from π
a light node defines an illumination source that may affect subsequent shapes in the scene graph, and whether it actually does depends on the current lighting style. so it's a vibe check situation, not a guaranteed glow-up.
Light sources are affected by the current transformation. yes bestie, transformations move your lights too, they're not immune.
and here's the tea: a light node under a separator does not affect any objects outside that separator. it's a boundaries thing. she stays in her lane, and honestly? iconic.
you can also use a node kit to create a light β go peek at the reference page for SoLightKit if you wanna do it the fancy way π
πΈ FIELDS
SoSFBoolonβ decides whether the source is active or inactive. when it's inactive, the source does not illuminate at all. not even a little. not even a whisper. it's off-off πSoSFFloatintensityβ the illumination intensity of the light source. valid values range from0.0(no illumination) to1.0(maximum illumination). so like,0.0= ghosting you,1.0= full beam full send π₯SoSFColorcolorβ the light source illumination color. pick your aesthetic, bestie π
β METHODS
static SoType getClassTypeId()β returns the type identifier for this class. it's her ID card, her little passport, her "yes i belong here" proof π
π¬ ACTION BEHAVIOR
SoGLRenderAction
activates this light (if so specified) during traversal. all shape nodes that come after this light in the scene graph are illuminated by this light. so it's like walking into a room and every single thing after you gets lit up β order matters, bestie β¨
π FILE FORMAT/DEFAULTS
this is an abstract class. so there's nothing to show here, no defaults, no format, nada. go look at the reference page of a derived class for the format and default values, because she's not gonna do that work for you π
π SEE ALSO
SoDirectionalLightSoEnvironmentSoLightKitSoLightModelSoMaterialSoPointLightSoSpotLight
the whole light squad, the friend group, the group chat π«Ά go say hi.
β οΈ real talk though: she's abstract. you literally cannot make one of these on her own. she exists so that the derived classes have somewhere to come from. no cap.
and that's the page, bestie π this came to you from the SoLight(3IV)() footer situation β the source/version and date fields on that line were empty, so no version numbers and no dates to spill, just the page name hanging out at the bottom all alone π anyway, go forth and light things up. mwah π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms