SbVec2f(3)

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

πŸ’– SbVec2f(3) πŸ’–

okay bestie, pull up a chair β€” this is a page from the Library Functions Manual, and today we're doing SbVec2f, the two-dimensional float vector of your dreams. no cap. πŸ¦‹


✨ 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 (float x, 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 (float x, float y)
SbVec2f & setValue (const SbVec2d &v)
SbVec2f & setValue (const SbVec2b &v)
SbVec2f & setValue (const SbVec2s &v)
SbVec2f & setValue (const SbVec2i32 &v)
const float * getValue (void) const
void getValue (float &x, float &y) const
float & operator[] (int i)
const float & operator[] (int i) const
float dot (const SbVec2f &v) const
SbBool equals (const SbVec2f &v, float tolerance) const
float length (void) const
float sqrLength (void) const
void negate (void)
float normalize (void)
SbVec2f & operator*= (float d)
SbVec2f & operator/= (float d)
SbVec2f & operator+= (const SbVec2f &v)
SbVec2f & operator-= (const SbVec2f &v)
SbVec2f operator- (void) const
void print (FILE *fp) const

πŸ”’ Protected Attributes

float vec [2]

(Note that these are not member symbols.) β€” yes bestie, they're the free-floating ones, living their best life outside the class:

SbVec2f operator* (const SbVec2f &v, float d)
SbVec2f operator* (float d, const SbVec2f &v)
SbVec2f operator/ (const SbVec2f &v, 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. it's giving "point in a plane, but make it ✨math✨".

This vector class is used by so many other classes in Coin. It provides storage for a vector in 2 dimensions aswell as simple floating point arithmetic operations on this vector. (yes, "aswell" β€” the original really said that, and honestly? iconic.)

See also SbVec2s, SbVec2d, SbVec3s, SbVec3f, SbVec3d, SbVec4f, SbVec4d β€” the whole vector family reunion 🫢


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SbVec2f::SbVec2f (void ) [inline]

The default constructor does nothing. The vector coordinates will be uninitialized until you do a setValue(). 🚨 bestie this is the "you get what you get" constructor β€” do not go reading x and y before you've set them, that's a whole vibe check you will fail.

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

Constructs an SbVec2f instance with initial values from v. 🌸

SbVec2f::SbVec2f (float x, float y) [inline]

Constructs an SbVec2f instance with the initial vector endpoints from x and y. πŸ’…

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

Constructs an instance from an SbVec2d instance.

Since β€” Coin 2.5 ⭐

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

Constructs an instance from an SbVec2d instance.

Since β€” Coin 2.5 ⭐

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

Constructs an instance from an SbVec2d instance.

Since β€” Coin 2.5 ⭐

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

Constructs an instance from an SbVec2d instance.

Since β€” Coin 2.5 ⭐

no bestie you're not misreading it πŸ’€ β€” yes, all four of those conversion constructors say SbVec2d in the docs, even the ones converting from SbVec2b, SbVec2s and SbVec2i32. that's the original text, we're keeping it word for word. copy-paste energy fr fr.

πŸ’œ Member Function Documentation πŸ’œ

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

Set new x and y coordinates for the vector from v. Returns reference to self. πŸͺž

See also β€” getValue().

SbVec2f & SbVec2f::setValue (float x, float y) [inline]

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

See also β€” getValue().

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

Sets the 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 ⭐

const float * SbVec2f::getValue (void ) const [inline]

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 [inline]

Returns the x and y coordinates of the vector.

See also β€” setValue().

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

Index operator. Returns modifiable x or y coordinate. ✍️

See also β€” getValue() and setValue().

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

Index operator. Returns x or y coordinate. 🧊 (read-only, hands off)

See also β€” getValue().

float SbVec2f::dot (const SbVec2f & v) const [inline]

Calculates and returns the result of taking the dot product of this vector and v. πŸ”₯

SbBool SbVec2f::equals (const SbVec2f & v, 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. 🫢 (yes, the square root of tolerance β€” not tolerance itself. read it twice, bestie.)

float SbVec2f::length (void ) const

Return length of vector. πŸ“

float SbVec2f::sqrLength (void ) const [inline]

Returns the square of the length of the vector. (cheaper than a square root, and we respect the hustle πŸ’…)

Since β€” Coin 2.5 ⭐

void SbVec2f::negate (void ) [inline]

Negate the vector (i.e. point it in the opposite direction). πŸ”„

float SbVec2f::normalize (void )

Normalize the vector to unit length. Return value is the original length of the vector before normalization. πŸ“

SbVec2f & SbVec2f::operator*= (float d) [inline]

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

SbVec2f & SbVec2f::operator/= (float d) [inline]

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

SbVec2f & SbVec2f::operator+= (const SbVec2f & v) [inline]

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

SbVec2f & SbVec2f::operator-= (const SbVec2f & v) [inline]

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

SbVec2f SbVec2f::operator- (void ) const [inline]

Non-destructive negation operator. Returns a new SbVec2f instance which points in the opposite direction of this vector. πŸ¦‹ (unlike negate(), this one leaves the original alone β€” main character behavior, no collateral damage)

See also β€” negate().

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 out here calling print() in release and wondering why nothing happened… yeah. that's why.

heads up: that "nothing in an optimized compile" thing is not a joke, it's a real caveat. don't build your logging on top of it, bestie. πŸ™ˆ

Returns an SbVec2f instance which is the components of vector v multiplied with d. βœ–οΈ

Returns an SbVec2f instance which is the components of vector v multiplied with d. βœ–οΈ (same thing, scalar on the left this time β€” commutative and unbothered πŸ’…)

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

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

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

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

See also β€” equals().

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

See also β€” equals().


🌟 Author 🌟

Generated automatically by Doxygen for Coin from the source code. πŸ€– (the robot wrote it, we just gave it a glow-up)


and that's the whole page, bestie!! βœ¨πŸ’–βœ¨ this one's from Coin, Version 3.1.3, and it's filed under SbVec2f(3). go forth and normalize your vectors, you gorgeous two-dimensional icon. πŸŽ€πŸ¦‹πŸ’… periodt.

πŸ“¦ where this page comes from