76 lines
1.6 KiB
C++
76 lines
1.6 KiB
C++
// BoundingBox.h : Declaration of the CBoundingBox
|
|
|
|
#pragma once
|
|
#include "resource.h" // main symbols
|
|
|
|
#include "SLNKDWF.h"
|
|
#include "DWGPoint.h"
|
|
|
|
|
|
// CBoundingBox
|
|
|
|
class ATL_NO_VTABLE CBoundingBox :
|
|
public CComObjectRootEx<CComSingleThreadModel>,
|
|
public CComCoClass<CBoundingBox, &CLSID_BoundingBox>,
|
|
public IDispatchImpl<IBoundingBox, &IID_IBoundingBox, &LIBID_SLNKDWFLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
|
|
{
|
|
public:
|
|
CBoundingBox()
|
|
{
|
|
}
|
|
|
|
//REMOVED DECLARE_REGISTRY_RESOURCEID(IDR_BOUNDINGBOX)
|
|
|
|
|
|
BEGIN_COM_MAP(CBoundingBox)
|
|
COM_INTERFACE_ENTRY(IBoundingBox)
|
|
COM_INTERFACE_ENTRY(IDispatch)
|
|
END_COM_MAP()
|
|
|
|
|
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
|
|
HRESULT FinalConstruct()
|
|
{
|
|
//
|
|
// Maak object m_minPoint
|
|
//
|
|
CComObject<CDWGPoint> *pDWGPoint;
|
|
HRESULT hr = CComObject<CDWGPoint>::CreateInstance(&pDWGPoint);
|
|
if(FAILED(hr)) return hr;
|
|
|
|
pDWGPoint->AddRef();
|
|
hr = pDWGPoint->QueryInterface(IID_IDWGPoint, (void **)&m_minPoint);
|
|
pDWGPoint->Release();
|
|
if(FAILED(hr)) return hr;
|
|
|
|
//
|
|
// Maak object m_maxPoint
|
|
//
|
|
hr = CComObject<CDWGPoint>::CreateInstance(&pDWGPoint);
|
|
if(FAILED(hr)) return hr;
|
|
|
|
pDWGPoint->AddRef();
|
|
hr = pDWGPoint->QueryInterface(IID_IDWGPoint, (void **)&m_maxPoint);
|
|
pDWGPoint->Release();
|
|
if(FAILED(hr)) return hr;
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
void FinalRelease()
|
|
{
|
|
}
|
|
|
|
private:
|
|
CComQIPtr<IDWGPoint> m_minPoint;
|
|
CComQIPtr<IDWGPoint> m_maxPoint;
|
|
|
|
public:
|
|
STDMETHOD(get_min)(IDWGPoint** pVal);
|
|
STDMETHOD(get_max)(IDWGPoint** pVal);
|
|
|
|
};
|
|
|
|
//REMOVED OBJECT_ENTRY_AUTO(__uuidof(BoundingBox), CBoundingBox)
|