SbBox3f.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SBBOX3F_H
00021
#define COIN_SBBOX3F_H
00022
00023
#include <stdio.h>
00024
00025
#include <Inventor/SbVec3f.h>
00026
00027
class SbMatrix;
00028
00029 class COIN_DLL_API SbBox3f {
00030
public:
00031 SbBox3f(
void);
00032 SbBox3f(
const float minx,
const float miny,
const float minz,
00033
const float maxx,
const float maxy,
const float maxz);
00034 SbBox3f(
const SbVec3f & min,
const SbVec3f & max);
00035 ~SbBox3f();
00036
00037
const SbVec3f & getMin(
void)
const;
00038
const SbVec3f & getMax(
void)
const;
00039
SbVec3f & getMin(
void);
00040
SbVec3f & getMax(
void);
00041
00042
SbVec3f getCenter(
void)
const;
00043
00044
void extendBy(
const SbVec3f & point);
00045
void extendBy(
const SbBox3f & box);
00046
00047 SbBool intersect(
const SbVec3f & point)
const;
00048 SbBool intersect(
const SbBox3f & box)
const;
00049
00050
void setBounds(
const float minx,
const float miny,
const float minz,
00051
const float maxx,
const float maxy,
const float maxz);
00052
void setBounds(
const SbVec3f & min,
const SbVec3f & max);
00053
void getBounds(
float & minx,
float & miny,
float & minz,
00054
float & maxx,
float & maxy,
float & maxz)
const;
00055
void getBounds(
SbVec3f & min,
SbVec3f & max)
const;
00056
00057
void getOrigin(
float & x0,
float & y0,
float & z0)
const;
00058
void getSize(
float & dx,
float & dy,
float & dz)
const;
00059
00060
void makeEmpty(
void);
00061 SbBool isEmpty(
void)
const;
00062 SbBool hasVolume(
void)
const;
00063
00064
void getSpan(
const SbVec3f & dir,
float & dmin,
float & dmax)
const;
00065
void transform(
const SbMatrix & matrix);
00066
float getVolume(
void)
const;
00067
00068 SbBool outside(
const SbMatrix & mvp,
int & cullbits)
const;
00069
SbVec3f getClosestPoint(
const SbVec3f & point)
const;
00070
00071
friend COIN_DLL_API
int operator ==(
const SbBox3f & b1,
const SbBox3f & b2);
00072
friend COIN_DLL_API
int operator !=(
const SbBox3f & b1,
const SbBox3f & b2);
00073
00074
void print(FILE * file)
const;
00075
00076
private:
00077
SbVec3f min, max;
00078 };
00079
00080 COIN_DLL_API
int operator ==(
const SbBox3f & b1,
const SbBox3f & b2);
00081 COIN_DLL_API
int operator !=(
const SbBox3f & b1,
const SbBox3f & b2);
00082
00083
#endif // !COIN_SBBOX3F_H
Generated on Tue Jul 27 23:53:00 2004 for Coin by
1.3.7