Files
FC1/CryCommon/IMarkers.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

67 lines
2.0 KiB
C++

#ifndef _IMARKERS_H_
#define _IMARKERS_H_
typedef struct ITagPoint
{
virtual void GetPos(Vec3 &pos) = 0;
virtual void SetPos(const Vec3 &pos) = 0;
virtual void GetAngles(Vec3 &angles) = 0;
virtual void SetAngles(const Vec3 &angles) = 0;
virtual bool SetName(const char *pName) = 0;
virtual char *GetName() = 0;
virtual void Release()= 0;
} ITagPoint;
struct IXArea
{
public:
virtual ~IXArea() {};
virtual void SetPoints(const Vec3* const vPoints, const int count) = 0;
virtual void SetID( const int id ) = 0;
virtual int GetID() const = 0;
virtual void SetGroup( const int id) = 0;
virtual int GetGroup( ) const = 0;
virtual void AddEntity( const char* const clsName ) = 0;
virtual void ClearEntities( ) = 0;
virtual void SetCenter( const Vec3& center ) = 0;
virtual void SetRadius( const float rad ) = 0;
virtual void SetMin( const Vec3& min ) = 0;
virtual void SetMax( const Vec3& max ) = 0;
virtual void SetTM( const Matrix44& TM ) = 0;
virtual void SetVOrigin( float org ) = 0;
virtual void SetVSize( float sz=0.0f ) = 0;
// virtual void SetEntityName( const char* const clsName ) = 0;
// virtual char* GetEntityName( ) = 0;
virtual void SetProximity( float prx ) = 0;
virtual float GetProximity( ) = 0;
};
struct IXAreaMgr
{
public:
virtual void RetriggerAreas() = 0;
virtual IXArea *CreateArea( const Vec3d *vPoints, const int count, const std::vector<string> &names,
const int type=0, const int groupId=-1, const float width=0.0f, const float height=0.0f) = 0;
virtual IXArea *CreateArea( const Vec3d& min, const Vec3d& max, const Matrix44& TM, const std::vector<string> &names,
const int type=0, const int groupId=-1, const float width=0.0f) = 0;
virtual IXArea *CreateArea( const Vec3d& center, const float radius, const std::vector<string> &names,
const int type=0, const int groupId=-1, const float width=0.0f) = 0;
virtual IXArea* GetArea( const Vec3& point ) = 0;
virtual void DeleteArea( const IXArea* aPtr ) = 0;
};
#endif// _IMARKERS_H_