42 lines
1.3 KiB
C++
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);
|