示例#1
0
	void initialize()
	{
		uint i;
		for( i = 0; i < circleDefs.size(); ++i )
		{
			CigiSymbolCircleDefV3_3 *circleDef = circleDefs[i];
			circleDef->SetDrawingStyle( CigiBaseSymbolCircleDef::Fill );
			CigiBaseCircleSymbolData *subcircle = circleDef->AddCircle();
			subcircle->SetCenterUPosition( 0.0 );
			subcircle->SetCenterVPosition( 0.0 );
			subcircle->SetRadius( 0.156 );
			subcircle->SetInnerRadius( 0.0 );
			subcircle->SetStartAngle( 0.0 );
			subcircle->SetEndAngle( 0.0 );
			
			outgoing << *circleDef;
		}

		for( i = 0; i < circleCtrls.size(); ++i )
		{
			CigiSymbolCtrlV3_3 *symbolCtrl = circleCtrls[i];
			symbolCtrl->SetSymbolID( circleDefs[i]->GetSymbolID() );
			symbolCtrl->SetSymbolState( CigiBaseSymbolCtrl::Visible );
			symbolCtrl->SetSurfaceID( SURFACE_ID );
			symbolCtrl->SetFlashCtrl( CigiBaseSymbolCtrl::Continue );
			symbolCtrl->SetFlashDutyCycle( 100 );
			symbolCtrl->SetFlashPeriod( 1.0 );
			symbolCtrl->SetInheritColor( CigiBaseSymbolCtrl::NotInherit );
			symbolCtrl->SetRotation( 0.0 );

			symbolCtrl->SetScaleU( 1.0 );
			symbolCtrl->SetScaleV( 0.5 );

			if( i == 0 )
			{
				symbolCtrl->SetColor( 0xff, 0x00, 0x00, 0xff );
				symbolCtrl->SetUPosition( -0.53125 );
				symbolCtrl->SetVPosition( -0.0234375 );
				symbolCtrl->SetLayer( 2 );
			}
			else if( i == 1 )
			{
				symbolCtrl->SetColor( 0xff, 0xff, 0xff, 0xff );
				symbolCtrl->SetUPosition( -0.4140625 );
				symbolCtrl->SetVPosition( -0.0234375 );
				symbolCtrl->SetLayer( 1 );
			}
			else if( i == 2 )
			{
				symbolCtrl->SetColor( 0x00, 0x00, 0xff, 0xff );
				symbolCtrl->SetUPosition( -0.296875 );
				symbolCtrl->SetVPosition( -0.0234375 );
				symbolCtrl->SetLayer( 0 );
			}
		}
		
		initialized = true;
	}
示例#2
0
	ManyCircleTypesTest( CigiOutgoingMsg &outgoing )
			: SymbologyTest( outgoing ), initialized( false )
	{
		for( uint i = 0; i < 6; ++i )
		{
			CigiSymbolCircleDefV3_3 *def = new CigiSymbolCircleDefV3_3;
			def->SetSymbolID( unique_symbology_id() );
			circleDefs.push_back( def );
			
			CigiSymbolCtrlV3_3 *ctrl = new CigiSymbolCtrlV3_3;
			ctrl->SetSymbolID( def->GetSymbolID() );
			circleCtrls.push_back( ctrl );
		}
	}
示例#3
0
void XSymbolCircleDefV3_3::OnPacketReceived(CigiBasePacket *Packet)
{
   CigiSymbolCircleDefV3_3 *InPckt = (CigiSymbolCircleDefV3_3 *)Packet;

   printf("Symbol Circle Definition:\n");

   printf("\tSymbol ID = %d\n",InPckt->GetSymbolID());

   printf("\tDrawing Style = %d : ",InPckt->GetDrawingStyle());
   switch(InPckt->GetDrawingStyle())
   {
   case 0:
      printf("Line\n");
      break;
   case 1:
      printf("Fill\n");
      break;
   default:
      printf("\n");
      break;
   }

   printf("\tStipple Pattern = %d\n",InPckt->GetStipplePattern());
   printf("\tLine Width = %f\n",InPckt->GetLineWidth());
   printf("\tStipple Pattern Length = %f\n",InPckt->GetStipplePatternLen());


   //   Circle Data
   int CircleCnt = InPckt->GetCircleCount();
   int ndx = 0;
   for(ndx=0;ndx<CircleCnt;ndx++)
   {
      CigiCircleSymbolDataV3_3 *Circle =
         (CigiCircleSymbolDataV3_3 *)InPckt->GetCircle(ndx);

      printf("\tCenter U Position = %f\n",Circle->GetCenterUPosition());
      printf("\tCenter V Position = %f\n",Circle->GetCenterVPosition());
      printf("\tRadius = %f\n",Circle->GetRadius());
      printf("\tInner Radius = %f\n",Circle->GetInnerRadius());
      printf("\tStart Angle = %f\n",Circle->GetStartAngle());
      printf("\tEnd Angle = %f\n",Circle->GetEndAngle());
   }

}
示例#4
0
	void initialize()
	{
		uint i;
		for( i = 0; i < circleDefs.size(); ++i )
		{
			CigiSymbolCircleDefV3_3 *circleDef = circleDefs[i];
			circleDef->SetDrawingStyle( CigiBaseSymbolCircleDef::Fill );
			CigiBaseCircleSymbolData *subcircle = circleDef->AddCircle();
			subcircle->SetCenterUPosition( 0.0 );
			subcircle->SetCenterVPosition( 0.0 );
			subcircle->SetRadius( 0.156 );
			subcircle->SetInnerRadius( 0.0 );
			subcircle->SetStartAngle( 0.0 );
			subcircle->SetEndAngle( 0.0 );
			
			switch( i )
			{
			case 0:
				circleDef->SetDrawingStyle( CigiBaseSymbolCircleDef::Line );
				subcircle->SetStartAngle( 45.0 );
				subcircle->SetEndAngle( 315.0 );
				break;
			case 1:
				circleDef->SetDrawingStyle( CigiBaseSymbolCircleDef::Line );
				break;
			case 2:
				subcircle->SetStartAngle( 45.0 );
				subcircle->SetEndAngle( 315.0 );
				break;
			case 3:
				break;
			case 4:
				subcircle->SetStartAngle( 45.0 );
				subcircle->SetEndAngle( 315.0 );
				subcircle->SetInnerRadius( 0.07 );
				break;
			case 5:
				subcircle->SetInnerRadius( 0.07 );
				break;
			default:
				break;
			}
			
			outgoing << *circleDef;
		}

		for( i = 0; i < circleCtrls.size(); ++i )
		{
			CigiSymbolCtrlV3_3 *symbolCtrl = circleCtrls[i];
			symbolCtrl->SetSymbolID( circleDefs[i]->GetSymbolID() );
			symbolCtrl->SetSymbolState( CigiBaseSymbolCtrl::Visible );
			symbolCtrl->SetSurfaceID( SURFACE_ID );
			symbolCtrl->SetLayer( 0 );
			symbolCtrl->SetFlashCtrl( CigiBaseSymbolCtrl::Continue );
			symbolCtrl->SetFlashDutyCycle( 100 );
			symbolCtrl->SetFlashPeriod( 1.0 );
			symbolCtrl->SetInheritColor( CigiBaseSymbolCtrl::NotInherit );
			symbolCtrl->SetRotation( 0.0 );

			symbolCtrl->SetScaleU( 1.0 );
			symbolCtrl->SetScaleV( 1.0 );

			symbolCtrl->SetColor( 0xff, 0xff, 0xff, 0xff );
			
			switch( i )
			{
			case 0:
				symbolCtrl->SetUPosition( -0.6 );
				symbolCtrl->SetVPosition( 0.6 );
				break;
			case 1:
				symbolCtrl->SetUPosition( -0.6 );
				symbolCtrl->SetVPosition( -0.6 );
				break;
			case 2:
				symbolCtrl->SetUPosition( 0.0 );
				symbolCtrl->SetVPosition( 0.6 );
				break;
			case 3:
				symbolCtrl->SetUPosition( 0.0 );
				symbolCtrl->SetVPosition( -0.6 );
				break;
			case 4:
				symbolCtrl->SetUPosition( 0.6 );
				symbolCtrl->SetVPosition( 0.6 );
				break;
			case 5:
				symbolCtrl->SetUPosition( 0.6 );
				symbolCtrl->SetVPosition( -0.6 );
				break;
			default:
				break;
			}
		}
		
		initialized = true;
	}