|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
#include "SigmaView.h"
|
|
|
|
|
|
#include "SectionDoc.h"
|
|
|
|
|
|
#include "ItemBreakCurve.h"
|
|
|
|
|
|
#include "ItemExtendCurve.h"
|
|
|
|
|
|
|
|
|
|
|
|
static CItemBreakCurve * GetItemBreakCurveFromView(CSigmaView * pView)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (pView == NULL)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
CItem * pItem = pView->GetItem();
|
|
|
|
|
|
if (pItem == NULL)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
CItemBreakCurve * itemBreakCurve = dynamic_cast<CItemBreakCurve *>(pItem);
|
|
|
|
|
|
if (itemBreakCurve == NULL)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
return itemBreakCurve;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static CItemBreakCurveDirect * GetItemBreakCurveDirectFromView(CSigmaView * pView)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (pView == NULL)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
CItem * pItem = pView->GetItem();
|
|
|
|
|
|
if (pItem == NULL)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
CItemBreakCurveDirect * itemBreakCurveDirectly = dynamic_cast<CItemBreakCurveDirect *>(pItem);
|
|
|
|
|
|
if (itemBreakCurveDirectly == NULL)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
return itemBreakCurveDirectly;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" __declspec(dllexport)
|
|
|
|
|
|
int BreakCurve_IsBreaked(CSigmaView * pView)
|
|
|
|
|
|
{
|
|
|
|
|
|
CItemBreakCurve * pItem = GetItemBreakCurveFromView(pView);
|
|
|
|
|
|
if (pItem == NULL)
|
|
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
|
|
|
|
return pItem->IsBreaked()?1:-1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" __declspec(dllexport)
|
|
|
|
|
|
int BreakCurve_GetSelectCount(CSigmaView * pView)
|
|
|
|
|
|
{
|
|
|
|
|
|
CItemBreakCurve * pItem = GetItemBreakCurveFromView(pView);
|
|
|
|
|
|
if (pItem == NULL)
|
|
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
|
|
|
|
return pItem->GetSelectCount();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" __declspec(dllexport)
|
|
|
|
|
|
void BreakCurveDirect_EreasRubberLine(CSigmaView * pView, HDC hdc)
|
|
|
|
|
|
{
|
|
|
|
|
|
CItemBreakCurveDirect * pBreackCurveDirectly = GetItemBreakCurveDirectFromView(pView);
|
|
|
|
|
|
if (pBreackCurveDirectly == NULL)
|
|
|
|
|
|
return ;
|
|
|
|
|
|
|
|
|
|
|
|
//pBreackCurveDirectly->EreaseRubberLine();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڲ<EFBFBD>Ӧ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀǰֻ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interface <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param pView
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
extern "C" __declspec(dllexport)
|
|
|
|
|
|
bool BreakCurve_ExtendCurveFinished(CSigmaView * pView)
|
|
|
|
|
|
{
|
|
|
|
|
|
CItemBreakCurve * pItem = GetItemBreakCurveFromView(pView);
|
|
|
|
|
|
if (pItem == nullptr)
|
|
|
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
auto * itemBreakCurve = dynamic_cast<CItemExtendCurve*>(pItem);
|
|
|
|
|
|
return itemBreakCurve->m_bExtendCurveFinished;
|
|
|
|
|
|
}
|