Files
envi-code/SourceCode/Code2026/inc/AecMInterfaces.h
T
2026-09-28 15:28:50 +08:00

42 lines
1.3 KiB
C++

#pragma once
#include "EarThwormDef.h"
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class DLLIMPEXP AecMInterfaces
{
public:
AecMInterfaces(void);
virtual ~AecMInterfaces(void);
virtual bool GetInterface(AcArray<AecInterface>& arInfs) const = 0;
virtual bool GetInterface(int nIndex,AecInterface& inf) const = 0;
virtual bool GetInterface(const AcGePoint3d& ptHit,AecInterface& inf) const;
virtual bool HasInterface(const AcGePoint3d& ptCon, const AcGeVector3d& vtDir);
virtual int GetInterfaceCount() const = 0;
virtual int GetActiveInf() const = 0;
virtual void SetActiveInf(int nIndex) = 0;
virtual void LockInf(int nInf) = 0;
virtual bool TransformAssocInf(int nInf,const AcGeMatrix3d& xform) = 0;
virtual bool GetNearInf(const AcGePoint3d& ptOn,AecInterface& inf);
};
// Protocols of AecMInterfaces available in macro from.
#define MINTERFACES_METHODS \
virtual bool GetInterface(AcArray<AecInterface>& arInfs) const; \
virtual bool GetInterface(int nIndex,AecInterface& inf) const; \
virtual int GetInterfaceCount() const; \
virtual int GetActiveInf() const; \
virtual void SetActiveInf(int nIndex); \
virtual void LockInf(int nInf); \
virtual bool TransformAssocInf(int nInf,const AcGeMatrix3d& xform);