亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? circleobj.cpp

?? 參數化車間設備資源繪制程序
?? CPP
字號:

//Circle.cpp 圖形元圓類的實現文檔
#include "StdAfx.h"
#include ".\circleobj.h"
#include "visdrawview.h"
#include "visdrawdoc.h"

#include <math.h>

IMPLEMENT_SERIAL(CCircleObj, CFigureObj, 0)

CCircleObj::CCircleObj(void)
{
}

CCircleObj::~CCircleObj(void)
{
}
CCircleObj::CCircleObj(const CRect& position)
		: CFigureObj(position)
{
	ASSERT_VALID(this);	
	m_CenterPointx = 0.0;
	 m_CenterPointy = 0.0;
	m_Radium = 0.0;//半徑
	
}

void CCircleObj::Draw(CVisDrawView* pView, CDC* pDC)
{
	ASSERT_VALID(this);

	//創建畫刷
	CBrush brush;
	if (!brush.CreateBrushIndirect(&m_logbrush))
		return;
	//創建畫筆
	CPen pen;
	if (!pen.CreatePenIndirect(&m_logpen))
		return;

	//設置DC
	CBrush* pOldBrush;
	CPen* pOldPen;

	if (m_bBrush)
		pOldBrush = pDC->SelectObject(&brush);
	else
		pOldBrush = (CBrush*)pDC->SelectStockObject(NULL_BRUSH);

	if (m_bPen)
		pOldPen = pDC->SelectObject(&pen);
	else
		pOldPen = (CPen*)pDC->SelectStockObject(NULL_PEN);

	//用圓的外接矩形繪制圓
	
	CRect rect = CalcBounds(pView);
		
	pDC->Ellipse(rect);

	//恢復DC
	pDC->SelectObject(pOldBrush);
	pDC->SelectObject(pOldPen);
}

void CCircleObj::Serialize(CArchive& ar)
{
	ASSERT_VALID(this);
	//調用基類串行化
	CFigureObj::Serialize(ar);
 
	if (ar.IsStoring())
	{
		ar << m_CenterPointx << m_CenterPointy << m_Radium;		
	}
	else
	{
//		WORD wTemp;
		ar >>  m_CenterPointx >> m_CenterPointy >> m_Radium;			
	}
}

//設定圓心坐標,為世界坐標
void CCircleObj::SetCenterPoint(double ptx, double pty)
{
	m_CenterPointx = ptx;
	m_CenterPointy = pty;	
}

//獲得圓心坐標
void CCircleObj::GetCenterPoint(double& ptx, double& pty)
{
	ptx = m_CenterPointx;
	pty = m_CenterPointy;
}

//計算矩形圖形元邊界矩形,以邏輯坐標表示
CRect CCircleObj::CalcBounds(CVisDrawView* pView)
{
	long Radium;
	CPoint nPoint;
	CRect rect;
	//把圓心坐標轉化為邏輯坐標
	pView->WorldToClient(nPoint, m_CenterPointx, m_CenterPointy);
	//把半徑轉化為邏輯半徑
	Radium = (long)pView->WorldToClient(m_Radium);

	//計算外接矩形
	rect.top = nPoint.y + Radium;
	rect.left = nPoint.x - Radium;
	rect.bottom = nPoint.y - Radium;
	rect.right = nPoint.x + Radium;

	m_position = rect;
	return rect;
}

//計算圓的半徑,以世界坐標表示
double CCircleObj::CalcRadium(double ptx, double pty)
{
	double radium;
	double dx,dy;
	dx = ptx - m_CenterPointx;
	dy = pty - m_CenterPointy;
    radium =sqrt(dx*dx + dy*dy);
	return radium;
}

void CCircleObj::SetRadium(double radium)
{
	m_Radium = radium;
}
double CCircleObj::GetRadium(void)
{
	return m_Radium;
}

BOOL CCircleObj::IsSelected(CVisDrawView* pView, const CPoint& point)
{
	//參數point是鼠標的邏輯坐標
	double distance,radium;
	int nSelectDistance;

	CPoint local;
	local = point;
	//鼠標點的設備坐標
	pView->DocToClient(local);

	//識別精度值
	nSelectDistance = pView->GetDocument()->GetSetectDistance()/2;
	
	CPoint pt;
	//把圓心坐標轉化為邏輯坐標
	pView->WorldToClient(pt, m_CenterPointx, m_CenterPointy);

	//把圓心坐標由邏輯坐標轉化為設備坐標
	pView->DocToClient(pt);

	//計算鼠標點point與圓心之間的像素距離

	distance = PointToPoint(pt,local);

	radium = pView->WorldToClient(m_Radium);

	distance = fabs(distance - radium);

	//根據拾取條件判斷圖元是否被拾取
	return (distance < nSelectDistance);

}

//返回手柄個數
int CCircleObj::GetHandleCount()
{
	ASSERT_VALID(this);
	
	return 5;
}

// 返回手柄中心邏輯坐標
CPoint CCircleObj::GetHandle(CVisDrawView* pView, int nHandle)
{
	ASSERT_VALID(this);
	
	if(nHandle < 5)
		nHandle = 2*nHandle;
	else
		nHandle = 9;

	//調整手柄號后調用基類成員函數

	return CFigureObj::GetHandle(pView, nHandle);
}
//移動手柄
void CCircleObj::MoveHandleTo(int nHandle, CPoint point, CVisDrawView* pView)
{
	ASSERT_VALID(this);

	//把鼠標邏輯坐標轉化為世界坐標
	double pointx,pointy;
	pView->ClientToWorld(point, pointx, pointy);

	double radium = CalcRadium(pointx,pointy);
	SetRadium(radium);
	CalcBounds(pView);
}

// delta為邏輯坐標
void CCircleObj::MoveTo(CPoint delta, CVisDrawView* pView)
{
	ASSERT_VALID(this);	

	//把delta轉化為世界坐標
	double pointx,pointy;
	pointx = pView->ClientToWorld(delta.x);
	pointy = -pView->ClientToWorld(delta.y);

	//修改圓心坐標
	m_CenterPointx = m_CenterPointx + pointx;
	m_CenterPointy = m_CenterPointy + pointy;

	//重新計算邊界矩形
	CalcBounds(pView);

	//修改文檔標志	
	m_pDocument->SetModifiedFlag();
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产一级片| 国产一区高清在线| 在线视频你懂得一区二区三区| 国产精品女同一区二区三区| 成人性生交大片| 亚洲天堂成人在线观看| 在线观看国产91| 日韩影院精彩在线| 久久久不卡影院| 91电影在线观看| 免费久久99精品国产| 久久久久久一级片| 91色porny| 视频一区二区中文字幕| 欧美精品一区二区高清在线观看| 国产伦精品一区二区三区视频青涩| 国产精品乱码一区二区三区软件| 色综合久久88色综合天天免费| 亚洲一区二区成人在线观看| 日韩一区二区在线看片| 国产高清在线精品| 亚洲精品国产第一综合99久久 | 日韩中文字幕区一区有砖一区 | 国产精品亚洲一区二区三区妖精| 中日韩免费视频中文字幕| 色94色欧美sute亚洲线路二| 日本中文字幕不卡| 国产精品人成在线观看免费| 欧美日韩中文精品| 国产成人欧美日韩在线电影| 亚洲午夜免费福利视频| 久久精品这里都是精品| 欧美亚洲国产一区在线观看网站| 另类中文字幕网| 亚洲免费毛片网站| 精品国产乱码久久久久久闺蜜| 99精品视频在线播放观看| 男人的j进女人的j一区| 亚洲欧美激情一区二区| 精品日本一线二线三线不卡| 色吧成人激情小说| 国产aⅴ精品一区二区三区色成熟| 亚洲国产精品久久久久婷婷884| 久久色.com| 91精品国产91久久久久久一区二区| 成人黄色软件下载| 另类中文字幕网| 天堂影院一区二区| 亚洲免费av观看| 国产片一区二区三区| 欧美美女喷水视频| 日本高清成人免费播放| 丰满放荡岳乱妇91ww| 麻豆精品一区二区综合av| 亚洲一区二区五区| 亚洲欧美日本韩国| 国产精品女主播av| 中文字幕成人av| wwwwww.欧美系列| 制服丝袜国产精品| 欧美性猛交xxxx乱大交退制版| 不卡视频在线观看| 国产成人啪免费观看软件| 狠狠色综合播放一区二区| 午夜激情久久久| 一区二区三区日韩欧美精品| 国产精品女同一区二区三区| 亚洲国产成人一区二区三区| 久久久www成人免费毛片麻豆| 欧美xfplay| 日韩女优毛片在线| 日韩免费视频一区二区| 日韩欧美成人一区| 精品国产99国产精品| 精品国产凹凸成av人网站| 精品国产伦理网| 久久久99精品免费观看| 国产欧美精品一区二区色综合 | 欧美国产精品一区二区三区| 久久这里都是精品| 国产午夜亚洲精品羞羞网站| 中文字幕欧美激情一区| 国产精品网站在线观看| 中文字幕在线视频一区| 亚洲欧美自拍偷拍色图| 亚洲另类在线视频| 亚洲图片欧美一区| 免费人成黄页网站在线一区二区| 狠狠色丁香久久婷婷综合_中 | 亚洲人成网站精品片在线观看| 国产精品久久久久久久久搜平片| 中文字幕一区二区三区四区不卡 | 视频一区中文字幕国产| 久久精品国产77777蜜臀| 国产在线不卡视频| 99re这里都是精品| 欧美视频你懂的| 日韩免费高清视频| 国产午夜精品一区二区| 亚洲天堂av一区| 亚洲v中文字幕| 黄网站免费久久| 色婷婷综合久久久中文一区二区 | 日本乱码高清不卡字幕| 91精品久久久久久蜜臀| 国产欧美日韩另类一区| 亚洲免费成人av| 麻豆91免费看| 99热这里都是精品| 51精品久久久久久久蜜臀| 久久精品一区二区三区不卡| 亚洲欧美日韩国产综合在线| 麻豆中文一区二区| 91免费看`日韩一区二区| 欧美一区二区三区免费在线看 | 奇米影视在线99精品| 福利视频网站一区二区三区| 欧美日韩国产高清一区二区| 久久久久久久久免费| 一区二区三区国产精品| 国产一区二区三区免费| 在线观看国产一区二区| 国产亚洲欧美激情| 亚洲免费看黄网站| 精品伊人久久久久7777人| 91麻豆精品一区二区三区| 欧美大片一区二区三区| 国产精品乱码妇女bbbb| 久久99精品一区二区三区| 一本色道a无线码一区v| 久久综合久久99| 日韩激情视频在线观看| 色94色欧美sute亚洲线路一ni| 久久久精品免费免费| 婷婷成人激情在线网| 99精品视频免费在线观看| 精品捆绑美女sm三区| 性感美女久久精品| 日本精品一级二级| 欧美经典一区二区三区| 男人的天堂久久精品| 欧美午夜精品一区二区三区| 国产精品人成在线观看免费 | 成人免费在线视频| 激情欧美日韩一区二区| 欧美一级专区免费大片| 亚洲一区二区三区自拍| eeuss鲁一区二区三区| 久久综合狠狠综合| 奇米精品一区二区三区在线观看一| 在线观看免费亚洲| 亚洲色图欧美偷拍| 99国产精品久| 国产精品每日更新在线播放网址| 国产精品影视在线| 国产日韩欧美麻豆| 国产麻豆精品95视频| 久久女同互慰一区二区三区| 极品少妇一区二区| 欧美成人性战久久| 日韩av中文字幕一区二区| 欧美日韩亚洲综合一区 | 手机精品视频在线观看| 欧美日韩不卡一区| 午夜欧美2019年伦理| 欧美亚洲愉拍一区二区| 亚洲第一久久影院| 欧美三区在线视频| 日韩精品成人一区二区三区| 91精品国产91久久久久久最新毛片| 婷婷综合在线观看| 555www色欧美视频| 日本美女一区二区三区视频| 在线不卡欧美精品一区二区三区| 视频在线观看一区二区三区| 777精品伊人久久久久大香线蕉| 日本伊人色综合网| 精品对白一区国产伦| 国内精品久久久久影院色| 欧美精品一区二区三区四区 | 亚洲欧美偷拍卡通变态| 一本大道久久精品懂色aⅴ| 亚洲精品中文字幕乱码三区| 欧美在线免费视屏| 三级欧美韩日大片在线看| 日韩精品专区在线| 国产不卡一区视频| 亚洲人xxxx| 91精品国产麻豆| 国产麻豆成人传媒免费观看| 综合激情成人伊人| 欧美日韩亚洲国产综合| 另类小说欧美激情| 国产精品丝袜久久久久久app| 91论坛在线播放| 青青草视频一区| 综合欧美一区二区三区| 欧美日韩精品一区二区三区| 国产在线精品一区二区三区不卡| 一区二区中文字幕在线|