tp/include/SComponent/c_m3d_g_lin.h

28 lines
717 B
C++

#ifndef C_M3D_G_LIN_H_
#define C_M3D_G_LIN_H_
#include "SComponent/c_xyz.h"
#include "global.h"
// Line
class cM3dGLin {
// private:
public:
cXyz mStart;
cXyz mEnd;
cM3dGLin() {}
cM3dGLin(const cXyz&, const cXyz&);
virtual ~cM3dGLin() {}
void SetStartEnd(const cXyz&, const cXyz&);
void SetStartEnd(const Vec&, const Vec&);
void CalcPos(Vec*, f32) const;
void CalcVec(Vec* pOut) const { PSVECSubtract(&this->mEnd, &this->mStart, pOut); }
void SetEnd(const cXyz&);
const cXyz& GetStartP(void) const { return mStart; }
cXyz& GetStartP(void) { return mStart; }
const cXyz& GetEndP(void) const { return mEnd; }
cXyz& GetEndP(void) { return mEnd; }
};
#endif