SOCONE(3iv)
π SoCone β cone shape node π
okay bestie, welcome to the SoCone(3IV) page, aka the glow-up manual for everyone's fave pointy girl π¦β¨ she's a cone, she's iconic, she's literally just vibing on the y-axis. let's get into it.
π INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoCone
so yeah, she comes from a long line of distinguished ancestors π the whole family tree is showing up to the function.
β¨ SYNOPSIS β¨
#include <Inventor/nodes/SoCone.h>
enum Part {
SoCone::SIDES The conical part
SoCone::BOTTOM The bottom circular face
SoCone::ALL All parts
}
Fields from class SoCone:
SoSFBitMaskβpartsSoSFFloatβbottomRadiusSoSFFloatβheight
Methods from class SoCone:
SoCone()voidβaddPart(SoCone::Part part)voidβremovePart(SoCone::Part part)SbBoolβhasPart(SoCone::Part part) conststatic SoTypeβgetClassTypeId()
Methods from class SoNode:
voidβsetOverride(SbBool state)SbBoolβisOverride() constSoNode *βcopy(SbBool copyConnections = FALSE) constvirtual SbBoolβaffectsState() conststatic SoNode *βgetByName(const SbName &name)static intβgetByName(const SbName &name, SoNodeList &list)
Methods from class SoFieldContainer:
voidβsetToDefaults()SbBoolβhasDefaultValues() constSbBoolβfieldsAreEqual(const SoFieldContainer *fc) constvoidβcopyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)SbBoolβset(const char *fieldDataString)voidβget(SbString &fieldDataString)virtual intβgetFields(SoFieldList &resultList) constvirtual SoField *βgetField(const SbName &fieldName) constSbBoolβgetFieldName(const SoField *field, SbName &fieldName) constSbBoolβisNotifyEnabled() constSbBoolβenableNotify(SbBool flag)
Methods from class SoBase:
voidβref()voidβunref() constvoidβunrefNoDelete() constvoidβtouch()virtual SoTypeβgetTypeId() constSbBoolβisOfType(SoType type) constvirtual voidβsetName(const SbName &name)virtual SbNameβgetName() const
πΈ DESCRIPTION πΈ
so this node? she represents a simple cone whose central axis is aligned with the y-axis. periodt. by default the cone is centered at (0,0,0) and has a size of -1 to +1 in all three directions. the cone has a radius of 1 at the bottom and a height of 2, with its apex at 1. and she has exactly two parts: the sides and the bottom. that's the whole lineup π
the cone gets transformed by the current cumulative transformation, and she's drawn with the current lighting model, drawing style, material, and geometric complexity. she's not doing her own thing, she's following the group chat rules π
now, material tea β if the current material binding is PER_PART or PER_PART_INDEXED, the first current material is used for the sides of the cone, and the second is used for the bottom. otherwise, the first material is used for the entire cone. one cone, one fit, no switching mid-outfit.
and the texture lore π§΅ when a texture is applied to a cone, it's applied differently to the sides and the bottom. on the sides, the texture wraps counterclockwise (from above) starting at the back of the cone. the texture has a vertical seam at the back, intersecting the yz-plane. for the bottom, a circle is cut out of the texture square and applied to the cone's base circle. the texture appears right side up when the top of the cone is tilted away from the camera. no cap, that's exactly how it behaves.
π FIELDS π
SoSFBitMask partsβ visible parts of cone. the vibe check on what she's showing off.SoSFFloat bottomRadiusSoSFFloat height
these define the cone's height and the radius of the base circle. and bestie, listen: values must be greater than 0.0. no zero, no negatives, we don't do that here π
π METHODS π
SoCone()β creates a cone node with default settings. a fresh baby cone, factory settings, ready to slay.void addPart(SoCone::Part part)void removePart(SoCone::Part part)
these are convenience functions that make it easy to turn on or off a part of the cone. glow-up toggle, basically β¨
SbBool hasPart(SoCone::Part part) constβ this convenience function returns whether a given part is on or off. is she wearing the bottom today? ask her.static SoType getClassTypeId()β returns type identifier for this class.
π₯ ACTION BEHAVIOR π₯
SoGLRenderActionβ draws cone based on the current coordinates, materials, drawing style, and so on. main character rendering moment.SoRayPickActionβ intersects the ray with the cone. the part of the cone that was picked is available from theSoConeDetail. π she got picked, and yes there's a receipt.SoGetBoundingBoxActionβ computes the bounding box that encloses the cone. personal space, measured.SoCallbackActionβ if any triangle callbacks are registered with the action, they will be invoked for each successive triangle that approximates the cone. every little triangle gets its moment π
β FILE FORMAT/DEFAULTS β
Cone {
parts ALL
bottomRadius 1
height 2
}
π¦ SEE ALSO π¦
SoConeDetail, SoCube, SoCylinder, SoSphere
π quick reminder bestie: this whole page isSoCone(3IV), and yes the footer is literallySoCone(3IV)()β same girl, top and bottom, matching outfit. iykyk π
that's the page!! go forth and cone, you absolute legend ππ
π¦ 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