void CDepartmentEstimationDialog::DrawSensors(CPaintDC &dc)
{
	std::map<int /*SensorID*/, SPosition>::iterator Iter = m_SensorsLocation.begin();
	std::map<int /*SensorID*/, SPosition>::iterator End = m_SensorsLocation.end();

	for(;Iter != End; ++Iter)
	{
		int SensorID = Iter->first;
		SPosition Position = Iter->second;

		DrawSensor(dc, SensorID, Position);
	}
}
Exemplo n.º 2
0
void DrawCmd::DrawTempeSensor()
{
	AcGePoint3d pt;
	double angle;
	AcDbObjectId objId;
	CString GEName = _T("温度传感器");
	DrawSensor(objId,GEName,pt,angle);
	TempeSensorGE* pTempeSensorGE = new TempeSensorGE( pt, angle );
	// 关联到瓦斯管路上
	pTempeSensorGE->setRelatedGE( objId );

	CheakLayerExit( GEName, 3, AcDb::kLnWt025);
	pTempeSensorGE->setLayer(GEName);
	pTempeSensorGE->setLineWeight(AcDb::kLnWt025);

	// 初始化并提交到数据库
	if( !ArxUtilHelper::PostToModelSpace( pTempeSensorGE ) ) delete pTempeSensorGE;
}
Exemplo n.º 3
0
void DrawCmd::DrawGasSensor()
{
	//AcDbObjectId objId = ArxUtilHelper::SelectObject( _T( "请选择一条管路:" ) );
	//if( objId.isNull() ) return;
	//if( !ArxUtilHelper::IsEqualType( _T( "GasTube" ), objId ) ) return;

	//CString GEName = _T("瓦斯传感器");

	//AcGePoint3d pt;
	//if( !PromptInsertPt( objId, pt ) ) return;
	//double angle;
	//if( !GetClosePtAndAngle( objId, pt, angle ) ) return;

	//AcGeVector3d v( AcGeVector3d::kXAxis );
	//v.rotateBy( angle, AcGeVector3d::kZAxis );
	//if( v.x < 0 ) v.negate();
	//angle = v.angleTo( AcGeVector3d::kXAxis, -AcGeVector3d::kZAxis );
	//v.normalize();
	//v.rotateBy( PI / 2, AcGeVector3d::kZAxis ); // 始终与文字反向

	//pt = pt + 6 * v;

	AcGePoint3d pt;
	double angle;
	AcDbObjectId objId;
	CString GEName = _T("瓦斯传感器");
	DrawSensor(objId,GEName,pt,angle);

	GasSensorGE* pGasSensorGE = new GasSensorGE( pt, angle );
	// 关联到瓦斯管路上
	pGasSensorGE->setRelatedGE( objId );

	CheakLayerExit( GEName, 3,AcDb::kLnWt025 );
	pGasSensorGE->setLayer(GEName);
	pGasSensorGE->setLineWeight(AcDb::kLnWt025);

	// 初始化并提交到数据库
	if( !ArxUtilHelper::PostToModelSpace( pGasSensorGE ) ) delete pGasSensorGE;
}