37 #include <Inventor/SbBasic.h> 38 #include <Inventor/SbByteBuffer.h> 39 #include <Inventor/SbString.h> 42 #include <Inventor/errors/SoDebugError.h> 54 SbVec3s(
const short v[3]) { vec[0] = v[0]; vec[1] = v[1]; vec[2] = v[2]; }
55 SbVec3s(
short x,
short y,
short z) { vec[0] = x; vec[1] = y; vec[2] = z; }
62 SbVec3s &
setValue(
const short v[3]) { vec[0] = v[0]; vec[1] = v[1]; vec[2] = v[2];
return *
this; }
63 SbVec3s & setValue(
short x,
short y,
short z) { vec[0] = x; vec[1] = y; vec[2] = z;
return *
this; }
70 const short *
getValue(
void)
const {
return vec; }
71 void getValue(
short & x,
short & y,
short & z)
const { x = vec[0]; y = vec[1]; z = vec[2]; }
73 short & operator [] (
int i) {
return vec[i]; }
74 const short & operator [] (
int i)
const {
return vec[i]; }
76 int32_t
dot(
const SbVec3s & v)
const {
return vec[0] * v[0] + vec[1] * v[1] + vec[2] * v[2]; }
77 void negate(
void) { vec[0] = -vec[0]; vec[1] = -vec[1]; vec[2] = -vec[2]; }
79 SbVec3s & operator *= (
int d) { vec[0] *= d; vec[1] *= d; vec[2] *= d;
return *
this; }
80 SbVec3s & operator *= (
double d);
81 SbVec3s & operator /= (
int d) { SbDividerChk(
"SbVec3s::operator/=(int)", d); vec[0] /= d; vec[1] /= d; vec[2] /= d;
return *
this; }
82 SbVec3s & operator /= (
double d) { SbDividerChk(
"SbVec3s::operator/=(double)", d);
return operator *= (1.0 / d); }
83 SbVec3s & operator += (
const SbVec3s & v) { vec[0] += v[0]; vec[1] += v[1]; vec[2] += v[2];
return *
this; }
84 SbVec3s & operator -= (
const SbVec3s & v) { vec[0] -= v[0]; vec[1] -= v[1]; vec[2] -= v[2];
return *
this; }
85 SbVec3s operator - (
void)
const {
return SbVec3s(-vec[0], -vec[1], -vec[2]); }
88 SbBool fromString(
const SbString & str);
89 void print(FILE * fp)
const;
97 SbVec3s val(v); val *= d;
return val;
101 SbVec3s val(v); val *= d;
return val;
105 SbVec3s val(v); val *= d;
return val;
109 SbVec3s val(v); val *= d;
return val;
113 SbDividerChk(
"operator/(SbVec3s,int)", d);
114 SbVec3s val(v); val /= d;
return val;
118 SbDividerChk(
"operator/(SbVec3s,double)", d);
119 SbVec3s val(v); val /= d;
return val;
123 SbVec3s v(v1); v += v2;
return v;
127 SbVec3s v(v1); v -= v2;
return v;
131 return ((v1[0] == v2[0]) && (v1[1] == v2[1]) && (v1[2] == v2[2]));
138 #endif // !COIN_SBVEC3S_H SbVec3s(const SbVec3us &v)
Definition: SbVec3s.h:56
SbVec3s & setValue(const short v[3])
Definition: SbVec3s.h:62
The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.This vector class provides storage for a 3 dimensional double precision floating point vector aswell as simple floating point arithmetic operations.
Definition: SbVec3d.h:50
SbVec3s(const SbVec3b &v)
Definition: SbVec3s.h:57
SbVec3s(const SbVec3f &v)
Definition: SbVec3s.h:59
const short * getValue(void) const
Definition: SbVec3s.h:70
void getValue(short &x, short &y, short &z) const
Definition: SbVec3s.h:71
The SbVec3s class is a 3 dimensional vector with short integer coordinates.This vector class provides...
Definition: SbVec3s.h:51
Definition: SbVec3us.h:50
int32_t dot(const SbVec3s &v) const
Definition: SbVec3s.h:76
SbVec3s(const short v[3])
Definition: SbVec3s.h:54
The SbVec3f class is a 3 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec3f.h:51
SbVec3s(short x, short y, short z)
Definition: SbVec3s.h:55
Definition: SbVec3i32.h:48
SbVec3s(void)
Definition: SbVec3s.h:53
SbVec3s(const SbVec3d &v)
Definition: SbVec3s.h:60
void negate(void)
Definition: SbVec3s.h:77
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc.
Definition: SbString.h:52
SbVec3s(const SbVec3i32 &v)
Definition: SbVec3s.h:58