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; }
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 ); } }
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()); } }
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; }