tp/include/SComponent/c_m3d_g_cyl.h

33 lines
726 B
C++

#ifndef C_M3D_G_CYL_H_
#define C_M3D_G_CYL_H_
#include "SComponent/c_xyz.h"
#include "global.h"
// Cylinder
struct cM3dGCylS {
cXyz mCenter;
f32 mRadius;
f32 mHeight;
};
class cM3dGSph;
class cM3dGCyl : public cM3dGCylS {
public:
cM3dGCyl(const cXyz*, f32, f32);
virtual ~cM3dGCyl();
void Set(const cM3dGCylS&);
void Set(const cXyz&, f32, f32);
void SetC(const cXyz&);
void SetH(f32);
void SetR(f32);
bool cross(const cM3dGSph*, cXyz*) const;
bool cross(const cM3dGCyl*, cXyz*) const;
void calcMinMax(cXyz*, cXyz*);
const cXyz& GetCP(void) const { return mCenter; }
f32 GetR(void) const { return mRadius; }
f32 GetH(void) const { return mHeight; }
};
#endif