00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00029
00030 #ifndef PHY_UTILITY_H
00031 #define PHY_UTILITY_H
00032
00033 #include <PVLE/Export.h>
00034 #include <osg/Vec3>
00035 #include <PVLE/Physics/SurfaceParams.h>
00036
00037 namespace Physics {
00038
00039 class Geom;
00040 class World;
00041
00043 PVLE_EXPORT Geom * createCanonicalBox(World * pPhyWorld, const osg::Vec3 & size = osg::Vec3(1,1,1), const float mass = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00045 PVLE_EXPORT Geom * createCanonicalSphere(World * pPhyWorld, const float radius = 1, const float mass = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00047 PVLE_EXPORT Geom * createCanonicalCapsule(World * pPhyWorld, const float radius = 1, const float length = 1, const float mass = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00049 PVLE_EXPORT Geom * createCanonicalCylinder(World * pPhyWorld, const float radius = 1, const float length = 1, const float mass = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00050
00051
00053 PVLE_EXPORT Geom * createCanonicalBoxGeom(const osg::Vec3 & size = osg::Vec3(1,1,1), const SurfaceParams & surfaceParam = Materials::DEFAULT);
00055 PVLE_EXPORT Geom * createCanonicalSphereGeom(const float radius = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00057 PVLE_EXPORT Geom * createCanonicalCapsuleGeom(const float radius = 1, const float length = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00059 PVLE_EXPORT Geom * createCanonicalCylinderGeom(const float radius = 1, const float length = 1, const SurfaceParams & surfaceParam = Materials::DEFAULT);
00060
00061 }
00062
00063 #endif // PHY_UTILITY_H