00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef PHYSXBOUNDS3_H
00016 #define PHYSXBOUNDS3_H
00017
00018 #include "pandabase.h"
00019 #include "luse.h"
00020
00021 #include "config_physx.h"
00022 #include "physx_includes.h"
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 class EXPCL_PANDAPHYSX PhysxBounds3 {
00033
00034 PUBLISHED:
00035 INLINE PhysxBounds3();
00036 INLINE ~PhysxBounds3();
00037
00038 void bounds_of_obb(const LMatrix3f &orientation, const LPoint3f &translation, const LVector3f &half_dims);
00039 void combine(const PhysxBounds3 &b2);
00040 bool contain(const LPoint3f &p) const;
00041 void fatten(float distance);
00042 void include(const LPoint3f &v);
00043 bool intersects(const PhysxBounds3 &b) const;
00044 bool intersects2d(const PhysxBounds3 &b, unsigned axis_to_ignore) const;
00045 bool is_empty() const;
00046 void scale(float scale);
00047 void set(const LPoint3f &min, const LPoint3f &max);
00048 void set_center_extents(const LPoint3f ¢er, const LVector3f &extents);
00049 void set_empty();
00050 void set_infinite();
00051 void transform(const LMatrix3f &orientation, const LPoint3f &translation);
00052
00053 LPoint3f get_max() const;
00054 LPoint3f get_min() const;
00055 LPoint3f get_center() const;
00056 LVector3f get_dimensions() const;
00057
00058 void set_max(LPoint3f value);
00059 void set_min(LPoint3f value);
00060
00061 public:
00062 NxBounds3 _bounds;
00063 };
00064
00065 #include "physxBounds3.I"
00066
00067 #endif // PHYSBOUNDS3_H