52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
#include "StdAfx.h"
|
|
#include "PushProperty.h"
|
|
#include "MasterProperties.h"
|
|
|
|
PushProperty::PushProperty(const AcDbEntity *ent, AcGiDraw &dc)
|
|
{
|
|
ASSERT(ent);
|
|
m_prop.m_nColor = dc.GetColor();
|
|
m_prop.m_idLayer = dc.GetLayerId();
|
|
m_prop.m_idLineType = dc.GetLineTypeId();
|
|
m_prop.m_idMaterial = dc.GetMaterialId();
|
|
//dc.BackUpProperties(m_prop);
|
|
m_pDC = &dc;
|
|
|
|
MasterProperties prop;
|
|
//if (_tcsicmp(dc.Desc(), TGGiWorldViewportDraw::Descriptor()) == 0)
|
|
//{
|
|
prop.SetFromEx(ent);
|
|
//}
|
|
//else
|
|
//{
|
|
// prop.SetFrom(ent);
|
|
//}
|
|
|
|
dc.SetLayer(prop.m_idLayer);
|
|
dc.SetLineType(prop.m_idLineType);
|
|
dc.SetColor(prop.m_nColor);
|
|
dc.SetMaterial(prop.m_idMaterial);
|
|
//dc.RestoreProperties(prop);
|
|
}
|
|
|
|
PushProperty::PushProperty(AcGiDraw &dc)
|
|
{
|
|
m_prop.m_nColor = dc.GetColor();
|
|
m_prop.m_idLayer = dc.GetLayerId();
|
|
m_prop.m_idLineType = dc.GetLineTypeId();
|
|
m_prop.m_idMaterial = dc.GetMaterialId();
|
|
//dc.BackUpProperties(m_prop);
|
|
m_pDC = &dc;
|
|
}
|
|
|
|
PushProperty::~PushProperty()
|
|
{
|
|
if (m_pDC)
|
|
{
|
|
m_pDC->SetLayer(m_prop.m_idLayer);
|
|
m_pDC->SetLineType(m_prop.m_idLineType);
|
|
m_pDC->SetColor(m_prop.m_nColor);
|
|
m_pDC->SetMaterial(m_prop.m_idMaterial);
|
|
//m_pDC->RestoreProperties(m_prop);
|
|
}
|
|
} |