---
name: "SbVec2i32"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SbVec2i32"
---

# SbVec2i32(3)

The SbVec2i32 class is a 2 dimensional vector with 32-bit signed integer coordinates.

## NAME

SbVec2i32 - The **SbVec2i32** class is a 2 dimensional vector with 32-bit signed integer coordinates.

## SYNOPSIS

\#include \<Inventor/SbVec2i32.h\>

### Public Member Functions

**SbVec2i32** (void)\
 **SbVec2i32** (const int32\_t v\[2\])\
 **SbVec2i32** (int32\_t x, int32\_t y)\
 **SbVec2i32** (const **SbVec2ui32** &v)\
 **SbVec2i32** (const **SbVec2b** &v)\
 **SbVec2i32** (const **SbVec2s** &v)\
 **SbVec2i32** (const **SbVec2f** &v)\
 **SbVec2i32** (const **SbVec2d** &v)\
 **SbVec2i32** & **setValue** (const int32\_t v\[2\])\
 **SbVec2i32** & **setValue** (int32\_t x, int32\_t y)\
 **SbVec2i32** & **setValue** (const **SbVec2ui32** &v)\
 **SbVec2i32** & **setValue** (const **SbVec2b** &v)\
 **SbVec2i32** & **setValue** (const **SbVec2s** &v)\
 **SbVec2i32** & **setValue** (const **SbVec2f** &v)\
 **SbVec2i32** & **setValue** (const **SbVec2d** &v)\
 const int32\_t \* **getValue** (void) const\
 void **getValue** (int32\_t &x, int32\_t &y) const\
 int32\_t & **operator\[\]** (const int i)\
 const int32\_t & **operator\[\]** (const int i) const\
 int32\_t **dot** (const **SbVec2i32** &v) const\
 void **negate** (void)\
 **SbVec2i32** & **operator\*=** (int d)\
 **SbVec2i32** & **operator\*=** (double d)\
 **SbVec2i32** & **operator/=** (int d)\
 **SbVec2i32** & **operator/=** (double d)\
 **SbVec2i32** & **operator+=** (const **SbVec2i32** &v)\
 **SbVec2i32** & **operator-=** (const **SbVec2i32** &v)\
 **SbVec2i32** **operator-** (void) const\
 void **print** (FILE \*fp) const\

### Protected Attributes

int32\_t **vec** \[2\]\

### Related Symbols

(Note that these are not member symbols.)  **SbVec2i32** **operator\*** (const **SbVec2i32** &v, int d)\
 **SbVec2i32** **operator\*** (const **SbVec2i32** &v, double d)\
 **SbVec2i32** **operator\*** (int d, const **SbVec2i32** &v)\
 **SbVec2i32** **operator\*** (double d, const **SbVec2i32** &v)\
 **SbVec2i32** **operator/** (const **SbVec2i32** &v, int d)\
 **SbVec2i32** **operator/** (const **SbVec2i32** &v, double d)\
 **SbVec2i32** **operator+** (const **SbVec2i32** &v1, const **SbVec2i32** &v2)\
 **SbVec2i32** **operator-** (const **SbVec2i32** &v1, const **SbVec2i32** &v2)\
 int **operator==** (const **SbVec2i32** &v1, const **SbVec2i32** &v2)\
 int **operator!=** (const **SbVec2i32** &v1, const **SbVec2i32** &v2)\

## Detailed Description

The **SbVec2i32** class is a 2 dimensional vector with 32-bit signed integer coordinates.

This vector class is used by many other classes in Coin. It provides storage for a vector in 2 dimensions as well as simple integer arithmetic operations.

**See also**

**SbVec2f**, **SbVec2d**, **SbVec3s**, **SbVec3f**, **SbVec3d**, **SbVec4f**, **SbVec4d**.

## Constructor & Destructor Documentation

### SbVec2i32::SbVec2i32 (void ) \[inline\]

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

### SbVec2i32::SbVec2i32 (const int32\_t v\[2\]) \[inline\]

Constructs an **SbVec2i32** instance with initial values from *v*.

### SbVec2i32::SbVec2i32 (int32\_t x, int32\_t y) \[inline\]

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

### SbVec2i32::SbVec2i32 (const SbVec2ui32 & v) \[inline\], \[explicit\]

**Since**

Coin 2.5

### SbVec2i32::SbVec2i32 (const SbVec2b & v) \[inline\], \[explicit\]

**Since**

Coin 2.5

### SbVec2i32::SbVec2i32 (const SbVec2s & v) \[inline\], \[explicit\]

**Since**

Coin 2.5

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

**Since**

Coin 2.5

### SbVec2i32::SbVec2i32 (const SbVec2d & v) \[inline\], \[explicit\]

**Since**

Coin 2.5

## Member Function Documentation

### SbVec2i32 & SbVec2i32::setValue (const int32\_t v\[2\]) \[inline\]

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

**See also**

**getValue()**.

### SbVec2i32 & SbVec2i32::setValue (int32\_t x, int32\_t y) \[inline\]

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

**See also**

**getValue()**.

### SbVec2i32 & SbVec2i32::setValue (const SbVec2ui32 & v)

**Since**

Coin 2.5

### SbVec2i32 & SbVec2i32::setValue (const SbVec2b & v)

**Since**

Coin 2.5

### SbVec2i32 & SbVec2i32::setValue (const SbVec2s & v)

**Since**

Coin 2.5

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

**Since**

Coin 2.5

### SbVec2i32 & SbVec2i32::setValue (const SbVec2d & v)

**Since**

Coin 2.5

### const int32\_t \* SbVec2i32::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 SbVec2i32::getValue (int32\_t & x, int32\_t & y) const \[inline\]

Returns the x and y coordinates of the vector.

**See also**

**setValue()**.

### int32\_t & SbVec2i32::operator\[\] (const int i) \[inline\]

Index operator. Returns modifiable x or y coordinate.

**See also**

**getValue()** and **setValue()**.

### const int32\_t & SbVec2i32::operator\[\] (const int i) const \[inline\]

Index operator. Returns x or y coordinate.

**See also**

**getValue()**.

### int32\_t SbVec2i32::dot (const SbVec2i32 & v) const \[inline\]

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

### void SbVec2i32::negate (void ) \[inline\]

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

### SbVec2i32 & SbVec2i32::operator\*= (int d) \[inline\]

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

### SbVec2i32 & SbVec2i32::operator\*= (double d)

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

### SbVec2i32 & SbVec2i32::operator/= (int d) \[inline\]

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

### SbVec2i32 & SbVec2i32::operator/= (double d) \[inline\]

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

### SbVec2i32 & SbVec2i32::operator+= (const SbVec2i32 & v) \[inline\]

Adds this vector and vector *v*. Returns reference to self.

### SbVec2i32 & SbVec2i32::operator-= (const SbVec2i32 & v) \[inline\]

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

### SbVec2i32 SbVec2i32::operator- (void ) const \[inline\]

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

**See also**

**negate()**.

### void SbVec2i32::print (FILE \* fp) const

Dump the state of this object to the *fp* file stream. Only works in debug version of library, method does nothing in an optimized build.

## Friends And Related Symbol Documentation

### SbVec2i32 operator\* (const SbVec2i32 & v, int d) \[related\]

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

### SbVec2i32 operator\* (const SbVec2i32 & v, double d) \[related\]

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

### SbVec2i32 operator\* (int d, const SbVec2i32 & v) \[related\]

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

### SbVec2i32 operator\* (double d, const SbVec2i32 & v) \[related\]

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

### SbVec2i32 operator/ (const SbVec2i32 & v, int d) \[related\]

Returns an **SbVec2i32** instance which is the components of vector *v* divided on *d*.

### SbVec2i32 operator/ (const SbVec2i32 & v, double d) \[related\]

Returns an **SbVec2i32** instance which is the components of vector *v* divided on *d*.

### SbVec2i32 operator+ (const SbVec2i32 & v1, const SbVec2i32 & v2) \[related\]

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

### SbVec2i32 operator- (const SbVec2i32 & v1, const SbVec2i32 & v2) \[related\]

Returns an **SbVec2i32** instance which is vector *v2* subtracted from vector *v1*.

### int operator== (const SbVec2i32 & v1, const SbVec2i32 & v2) \[related\]

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

### int operator!= (const SbVec2i32 & v1, const SbVec2i32 & v2) \[related\]

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

## Author

Generated automatically by Doxygen for Coin from the source code.
