00001 #ifndef COIN_SBSPHERE_H
00002 #define COIN_SBSPHERE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <stdio.h>
00028 #include <Inventor/SbVec3f.h>
00029
00030 class SbLine;
00031 class SbBox3f;
00032
00033 class COIN_DLL_API SbSphere {
00034 public:
00035 SbSphere(void);
00036 SbSphere(const SbVec3f & center, const float radius);
00037 void setValue(const SbVec3f & center, const float radius);
00038 void setCenter(const SbVec3f & center);
00039 void setRadius(const float radius);
00040 const SbVec3f & getCenter(void) const;
00041 float getRadius(void) const;
00042 void circumscribe(const SbBox3f & box);
00043 SbBool intersect(const SbLine & l, SbVec3f & intersection) const;
00044 SbBool intersect(const SbLine & l, SbVec3f & enter, SbVec3f & exit) const;
00045 SbBool pointInside(const SbVec3f & p) const;
00046
00047 void print(FILE * file) const;
00048
00049 private:
00050 SbVec3f center;
00051 float radius;
00052 };
00053
00054 #endif // !COIN_SBSPHERE_H