Coin Logo http://www.sim.no
http://www.coin3d.org

Public Member Functions | Friends | List of all members
SbVec2f Class Reference

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

#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)
 
SbVec2fsetValue (const float v[2])
 
SbVec2fsetValue (const float x, const float y)
 
SbVec2fsetValue (const SbVec2d &v)
 
SbVec2fsetValue (const SbVec2b &v)
 
SbVec2fsetValue (const SbVec2s &v)
 
SbVec2fsetValue (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
 
SbVec2foperator*= (const float d)
 
SbVec2foperator/= (const float d)
 
SbVec2foperator+= (const SbVec2f &u)
 
SbVec2foperator-= (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 many other classes in Coin. It provides storage for a vector in 2 dimensions aswell as simple floating point arithmetic operations on this vector.

See also
SbVec2d, SbVec3f, SbVec3d, SbVec4f, SbVec4d

Constructor & Destructor Documentation

◆ SbVec2f() [1/7]

SbVec2f::SbVec2f ( void  )

The default constructor does nothing. The vector coordinates will be uninitialized until you do a setValue().

Referenced by operator-().

◆ SbVec2f() [2/7]

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

Constructs an SbVec2f instance with initial values from v.

◆ SbVec2f() [3/7]

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

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

◆ SbVec2f() [4/7]

SbVec2f::SbVec2f ( const SbVec2d v)
inlineexplicit

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

Since
Coin-2.5

◆ SbVec2f() [5/7]

SbVec2f::SbVec2f ( const SbVec2b v)
inlineexplicit

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

Since
Coin-2.5

◆ SbVec2f() [6/7]

SbVec2f::SbVec2f ( const SbVec2s v)
inlineexplicit

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

Since
Coin-2.5

◆ SbVec2f() [7/7]

SbVec2f::SbVec2f ( const SbVec2i32 v)
inlineexplicit

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

Since
Coin-2.5

Member Function Documentation

◆ setValue() [1/6]

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

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

See also
getValue().

Referenced by SbBox2f::extendBy(), SbBox2f::makeEmpty(), SbBox2f::setBounds(), SbViewportRegion::setViewport(), and SbViewportRegion::setViewportPixels().

◆ setValue() [2/6]

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().

◆ setValue() [3/6]

SbVec2f & SbVec2f::setValue ( const SbVec2d v)

Set new value from an SbVec2d instance.

Since
Coin-2.5

◆ setValue() [4/6]

SbVec2f & SbVec2f::setValue ( const SbVec2b v)

Sets the value from an SbVec2b instance.

Since
Coin-2.5

◆ setValue() [5/6]

SbVec2f & SbVec2f::setValue ( const SbVec2s v)

Sets the value from an SbVec2s instance.

Since
Coin-2.5

◆ setValue() [6/6]

SbVec2f & SbVec2f::setValue ( const SbVec2i32 v)

Sets the value from an SbVec2i32 instance.

Since
Coin-2.5

◆ dot()

float SbVec2f::dot ( const SbVec2f v) const

Calculates and returns the result of taking the dot product of this vector and v.

◆ equals()

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().

◆ getValue() [1/2]

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().

Referenced by SbBox2f::getBounds().

◆ getValue() [2/2]

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

Returns the x and y coordinates of the vector.

See also
setValue().

◆ length()

float SbVec2f::length ( void  ) const

Return length of vector.

Referenced by normalize().

◆ sqrLength()

float SbVec2f::sqrLength ( void  ) const

Returns the square of the length of the vector.

Since
Coin-2.5

◆ negate()

void SbVec2f::negate ( void  )

Negate the vector (i.e. point it in the opposite direction).

◆ normalize()

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().

◆ operator[]() [1/2]

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

Index operator. Returns modifiable x or y coordinate.

See also
getValue() and setValue().

References SoDebugError::postWarning().

◆ operator[]() [2/2]

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

Index operator. Returns x or y coordinate.

See also
getValue().

References SoDebugError::postWarning().

◆ operator*=()

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

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

◆ operator/=()

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

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

References SoDebugError::postWarning().

Referenced by normalize().

◆ operator+=()

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

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

◆ operator-=()

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

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

◆ operator-()

SbVec2f SbVec2f::operator- ( void  ) const

Non-destructive negation operator. Returns a new SbVec2f instance which points in the opposite direction of this vector.

See also
negate().

References SbVec2f().

◆ print()

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.

Referenced by SbViewportRegion::print().

Friends And Related Function Documentation

◆ operator* [1/2]

SbVec2f operator* ( const SbVec2f v,
const float  d 
)
friend

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

◆ operator* [2/2]

SbVec2f operator* ( const float  d,
const SbVec2f v 
)
friend

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

◆ operator/

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.

◆ operator+

SbVec2f operator+ ( const SbVec2f v1,
const SbVec2f v2 
)
friend

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

◆ operator-

SbVec2f operator- ( const SbVec2f v1,
const SbVec2f v2 
)
friend

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

◆ operator==

int operator== ( const SbVec2f v1,
const SbVec2f v2 
)
friend

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

See also
equals().

◆ operator!=

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().

The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Fri Feb 17 2017 for Coin by Doxygen. 1.8.13