SOSCALE(3iv)

🌸 NAME 🌸

omg hi bestie πŸ’– welcome to SoScale(3IV) β€” the manual page, the icon, the moment. This is literally the node representing a 3D geometric scaling. Yes, scaling. In 3D. She's giving transformation energy, and we're obsessed. ✨


πŸ¦‹ INHERITS FROM πŸ¦‹

SoBase > SoFieldContainer > SoNode > SoTransformation > SoScale

That's the family tree, no cap. She inherits from all of them. Periodt. πŸ’…


✨ SYNOPSIS ✨

#include <Inventor/nodes/SoScale.h>

πŸŽ€ Fields from class SoScale πŸŽ€

  • SoSFVec3f scaleFactor

πŸ’– Methods from class SoScale πŸ’–

  • SoScale()
  • 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

πŸ’… DESCRIPTION πŸ’…

Okay so listen: this node defines a 3D scaling about the origin. That's the whole vibe. But here's the tea: if the components of the scaling vector are not all the same, this produces a non-uniform scale. So like, not all equal = stretched in a specific way. Iconic, honestly. 🫢


πŸ“ FIELDS πŸ“

  • SoSFVec3f scaleFactor β€” the scaling factors in the x, y, and z dimensions. That's it, that's the field. But bestie, be careful: non-positive values may cause undesirable results. So maybe don't? 😭
⚠️ Non-positive values may cause undesirable results. That's a warning, not a drill. πŸ’€

πŸ”₯ METHODS πŸ”₯

  • SoScale() β€” creates a scale node with default settings. She's fresh out the box, defaults on, ready to scale. ✨
  • static SoType getClassTypeId() β€” returns type identifier for this class. You need the type ID? She got you. πŸ’…

πŸ‘‘ ACTION BEHAVIOR πŸ‘‘

  • SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction β€” these accumulate scaling transformation into the current transformation. So like, they stack it up. No cap. 🌈
  • SoGetMatrixAction β€” returns the matrix corresponding to the scaling. It's giving matrix realness. πŸ’œ

πŸŽ€ FILE FORMAT/DEFAULTS πŸŽ€

Scale {
  scaleFactor  1 1 1
}

That's the default: scaleFactor 1 1 1. Exactly. Don't touch the spacing, she's sensitive. πŸ™ˆ


🌟 SEE ALSO 🌟

  • SoTransform
  • SoUnits

Go check them out, they're in the same friend group. fr fr. πŸ¦‹


and that's the whole manual page, bestie. The footer says SoScale(3IV)() β€” that's the source/version/date energy we're leaving you with. Stay scaling, stay iconic. Mwah πŸ’‹βœ¨