SbVec2f(3)

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

✨ SbVec2f(3) ✨

okay bestie, this is the manual page for SbVec2f(3), straight out of the Library Functions Manual, and it's lowkey one of the most iconic little classes in Coin. it's a 2D vector. it holds floats. it does math. she's small, she's powerful, she's giving main character energy. let's get into it πŸ’…


🌸 NAME 🌸

SbVec2f β€” the SbVec2f class is a 2 dimensional vector with floating point coordinates.


πŸŽ€ SYNOPSIS πŸŽ€

#include <Inventor/SbLinear.h>

✨ Public Member Functions ✨

SbVec2f (void)
SbVec2f (const float v[2])
SbVec2f (const float x, const float y)
SbVec2f (const SbVec2d &v)
SbVec2f (const SbVec2b &v)
SbVec2f (const SbVec2s &v)
SbVec2f (const SbVec2i32 &v)
SbVec2f & setValue (const float v[2])
SbVec2f & setValue (const float x, const float y)
SbVec2f & setValue (const SbVec2d &v)
SbVec2f & setValue (const SbVec2b &v)
SbVec2f & setValue (const SbVec2s &v)
SbVec2f & setValue (const SbVec2i32 &v)
float dot (const SbVec2f &v) const
SbBool equals (const SbVec2f &v, const float tolerance) const
const float * getValue (void) const
void getValue (float &x, float &y) const
float length (void) const
float sqrLength (void) const
void negate (void)
float normalize (void)
float & operator[] (const int i)
const float & operator[] (const int i) const
SbVec2f & operator*= (const float d)
SbVec2f & operator/= (const float d)
SbVec2f & operator+= (const SbVec2f &u)
SbVec2f & operator-= (const SbVec2f &u)
SbVec2f operator- (void) const
void print (FILE *fp) const

πŸ¦‹ Friends πŸ¦‹

SbVec2f operator* (const SbVec2f &v, const float d)
SbVec2f operator* (const float d, const SbVec2f &v)
SbVec2f operator/ (const SbVec2f &v, const float d)
SbVec2f operator+ (const SbVec2f &v1, const SbVec2f &v2)
SbVec2f operator- (const SbVec2f &v1, const SbVec2f &v2)
int operator== (const SbVec2f &v1, const SbVec2f &v2)
int operator!= (const SbVec2f &v1, const SbVec2f &v2)

πŸ’– Detailed Description πŸ’–

The SbVec2f class is a 2 dimensional vector with floating point coordinates.

This vector class is used by so many other classes in Coin. She provides storage for a vector in 2 dimensions aswell as simple floating point arithmetic operations on this vector. two floats, endless possibilities, no cap ✨

See also

  • SbVec2d, SbVec3f, SbVec3d, SbVec4f, SbVec4d

🧚 Constructor & Destructor Documentation πŸ’–

SbVec2f::SbVec2f (void )

The default constructor does nothing. bestie i need you to hear me: the vector coordinates will be uninitialized until you do a setValue(). she exists but she has no thoughts yet πŸ™ˆ

Referenced by dot(), equals(), operator!=, operator*, operator*, operator+, operator+=(), operator-, operator-(), operator-=(), operator/, and operator==.

SbVec2f::SbVec2f (const float v[2])

Constructs an SbVec2f instance with initial values from v.

SbVec2f::SbVec2f (const float x, const float y)

Constructs an SbVec2f instance with the initial vector endpoints from x and y.

SbVec2f::SbVec2f (const SbVec2d & v) [inline], [explicit]

Constructs an SbVec2f instance with initial values from the vector v.

Since

Coin-2.5

References setValue().

SbVec2f::SbVec2f (const SbVec2b & v) [inline], [explicit]

Constructs an SbVec3f instance with initial values from the vector v.

not me pointing out that the docs literally say SbVec3f right here, not SbVec2f β€” i'm just relaying what's written, i did not do this 😭

Since

Coin-2.5

References setValue().

SbVec2f::SbVec2f (const SbVec2s & v) [inline], [explicit]

Constructs an SbVec3f instance with initial values from the vector v.

same situation as above bestie, the page says SbVec3f, i'm keeping it exactly as-is πŸ’€

Since

Coin-2.5

References setValue().

SbVec2f::SbVec2f (const SbVec2i32 & v) [inline], [explicit]

Constructs an SbVec3f instance with initial values from the vector v.

yep. SbVec3f again. i don't make the rules, i just transcribe them πŸ™ˆ

Since

Coin-2.5

References setValue().


🌈 Member Function Documentation 🌈

SbVec2f & SbVec2f::setValue (const float v[2])

Set new x and y coordinates for the vector from v. Returns reference to self. she hands herself right back to you, obsessed with that for her 🫢

See also

  • getValue().

Referenced by SbVec2f(), SbVec2f(), SbVec2f(), and SbVec2f().

SbVec2f & SbVec2f::setValue (const float x, const float y)

Set new x and y coordinates for the vector. Returns reference to self.

See also

  • getValue().

SbVec2f & SbVec2f::setValue (const SbVec2d & v)

Set new value from an SbVec2d instance.

Since

Coin-2.5

SbVec2f & SbVec2f::setValue (const SbVec2b & v)

Sets the value from an SbVec2b instance.

Since

Coin-2.5

SbVec2f & SbVec2f::setValue (const SbVec2s & v)

Sets the value from an SbVec2s instance.

Since

Coin-2.5

SbVec2f & SbVec2f::setValue (const SbVec2i32 & v)

Sets the value from an SbVec2i32 instance.

Since

Coin-2.5

float SbVec2f::dot (const SbVec2f & v) const

Calculates and returns the result of taking the dot product of this vector and v. it's giving math, it's giving romance, it's giving two vectors leaning into each other ✨

References SbVec2f().

SbBool SbVec2f::equals (const SbVec2f & v, const float tolerance) const

Compares the vector with v and returns TRUE if the distance between the vectors is smaller or equal to the square root of tolerance.

References SoDebugError::postWarning(), and SbVec2f().

const float * SbVec2f::getValue (void ) const

Returns a pointer to an array of two floats containing the x and y coordinates of the vector.

See also

  • setValue().

void SbVec2f::getValue (float & x, float & y) const

Returns the x and y coordinates of the vector.

See also

  • setValue().

float SbVec2f::length (void ) const

Return length of vector.

Referenced by normalize().

float SbVec2f::sqrLength (void ) const

Returns the square of the length of the vector.

Since

Coin-2.5

void SbVec2f::negate (void )

Negate the vector (i.e. point it in the opposite direction). glow-down era, but make it deliberate πŸ’…

float SbVec2f::normalize (void )

Normalize the vector to unit length. Return value is the original length of the vector before normalization.

References length(), operator/=(), and SoDebugError::postWarning().

float & SbVec2f::operator[] (const int i)

Index operator. Returns modifiable x or y coordinate.

See also

  • getValue() and setValue().

References SoDebugError::postWarning().

const float & SbVec2f::operator[] (const int i) const

Index operator. Returns x or y coordinate.

See also

  • getValue().

References SoDebugError::postWarning().

SbVec2f & SbVec2f::operator*= (const float d)

Multiply components of vector with value d. Returns reference to self.

SbVec2f & SbVec2f::operator/= (const float d)

Divides components of vector with value d. Returns reference to self.

References SoDebugError::postWarning().

Referenced by normalize().

SbVec2f & SbVec2f::operator+= (const SbVec2f & u)

Adds this vector and vector u. Returns reference to self.

References SbVec2f().

SbVec2f & SbVec2f::operator-= (const SbVec2f & u)

Subtracts vector u from this vector. Returns reference to self.

References SbVec2f().

SbVec2f SbVec2f::operator- (void ) const

Non-destructive negation operator. Returns a new SbVec2f instance which points in the opposite direction of this vector. she does not change herself, she just makes a whole new her. growth πŸ¦‹

See also

  • negate().

References SbVec2f().

void SbVec2f::print (FILE * fp) const

Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile. so if you're wondering why nothing is printing in release mode... yeah bestie, that's why 😭

Referenced by SbViewportRegion::print().


SbVec2f operator* (const SbVec2f & v, const float d) [friend]

Returns an SbVec2f instance which is the components of vector v multiplied with d.

References SbVec2f().

SbVec2f operator* (const float d, const SbVec2f & v) [friend]

Returns an SbVec2f instance which is the components of vector v multiplied with d.

References SbVec2f().

SbVec2f operator/ (const SbVec2f & v, const float d) [friend]

Returns an SbVec2f instance which is the components of vector v divided on the scalar factor d.

References SoDebugError::postWarning(), and SbVec2f().

SbVec2f operator+ (const SbVec2f & v1, const SbVec2f & v2) [friend]

Returns an SbVec2f instance which is the sum of vectors v1 and v2.

References SbVec2f().

SbVec2f operator- (const SbVec2f & v1, const SbVec2f & v2) [friend]

Returns an SbVec2f instance which is vector v2 subtracted from vector v1.

References SbVec2f().

int operator== (const SbVec2f & v1, const SbVec2f & v2) [friend]

Returns 1 if v1 and v2 are equal, 0 otherwise.

See also

  • equals().

References SbVec2f().

int operator!= (const SbVec2f & v1, const SbVec2f & v2) [friend]

Returns 1 if v1 and v2 are not equal, 0 if they are equal.

See also

  • equals().

References SbVec2f().


⭐ Author ⭐

Generated automatically by Doxygen for Coin from the source code.


aaaand that's the whole page bestie, you ate it, no crumbs left πŸ“ go forth and multiply your vectors (literally, there's an operator* for that). this was Coin, Version 2.5.0, and she is iconic for it. mwah πŸ’œ πŸŽ€ ✨

πŸ“¦ where this page comes from