Files
Slnkdwf/SlnkDWFCom/BoundingBox.h
Jos Groot Lipman 80d0142c23 SLNKDWF 2.00
svn path=/Slnkdwf/trunk/; revision=12481
2007-08-01 13:42:28 +00:00

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)