void XViewDef::OnPacketReceived(CigiBasePacket *Packet) { CigiViewDefV3 *InPckt = (CigiViewDefV3 *)Packet; printf("===> ViewDef <===\n"); printf("ViewID ==> %d\n",InPckt->GetViewID()); printf("GroupID ==> %d\n",InPckt->GetGroupID()); printf("FOVNearEn ==> %d\n",InPckt->GetFOVNearEn()); printf("FOVFarEn ==> %d\n",InPckt->GetFOVFarEn()); printf("FOVLeftEn ==> %d\n",InPckt->GetFOVLeftEn()); printf("FOVRightEn ==> %d\n",InPckt->GetFOVRightEn()); printf("FOVTopEn ==> %d\n",InPckt->GetFOVTopEn()); printf("FOVBottomEn ==> %d\n",InPckt->GetFOVBottomEn()); printf("MirrorMode ==> %d\n",InPckt->GetMirrorMode()); printf("PixelReplicateMode ==> %d\n",InPckt->GetPixelReplicateMode()); printf("ProjectionType ==> %d\n",InPckt->GetProjectionType()); printf("Reorder ==> %d\n",InPckt->GetReorder()); printf("ViewType ==> %d\n",InPckt->GetViewType()); printf("FOVNear ==> %f\n",InPckt->GetFOVNear()); printf("FOVFar ==> %f\n",InPckt->GetFOVFar()); printf("FOVLeft ==> %f\n",InPckt->GetFOVLeft()); printf("FOVRight ==> %f\n",InPckt->GetFOVRight()); printf("FOVTop ==> %f\n",InPckt->GetFOVTop()); printf("FOVBottom ==> %f\n",InPckt->GetFOVBottom()); }
// ================================================ // OnPacketReceived(CigiBasePacket *Packet) // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv void ViewDefP::OnPacketReceived(CigiBasePacket *Packet) { CigiViewDefV3 *vd = (CigiViewDefV3 *)(Packet); if( !viewMap || !viewGroupParamsMap ) return; std::map< int, RefPtr<View> >::iterator vpIter = viewMap->find( vd->GetViewID() ); // determine if this packet's viewID is one that we're listening for if( vpIter == viewMap->end() ) return; View *view = vpIter->second.get(); int groupID = vd->GetGroupID(); view->setGroupID( groupID ); if( groupID != 0 ) { ViewGroupParams * vgp = (*viewGroupParamsMap)[groupID]; if( vgp == NULL ) { (*viewGroupParamsMap)[groupID] = vgp = new ViewGroupParams; memset( vgp, 0, sizeof( ViewGroupParams ) ); } } if( vd->GetFOVNearEn() || vd->GetFOVFarEn() ) { float near = view->getNearPlane(); float far = view->getFarPlane(); if( vd->GetFOVNearEn() ) near = vd->GetFOVNear(); if( vd->GetFOVFarEn() ) far = vd->GetFOVFar(); view->setNearFarPlanes( near, far ); } if( vd->GetFOVLeftEn() || vd->GetFOVRightEn() || vd->GetFOVTopEn() || vd->GetFOVBottomEn() ) { float fovLeft = view->getFovLeft(); float fovRight = view->getFovRight(); float fovTop = view->getFovTop(); float fovBottom = view->getFovBottom(); if( vd->GetFOVLeftEn() ) fovLeft = vd->GetFOVLeft(); if( vd->GetFOVRightEn() ) fovRight = vd->GetFOVRight(); if( vd->GetFOVTopEn() ) fovTop = vd->GetFOVTop(); if( vd->GetFOVBottomEn() ) fovBottom = vd->GetFOVBottom(); view->setFov( fovLeft, fovRight, fovTop, fovBottom ); } view->setParallelProjection( CigiBaseViewDef::Orthographic == vd->GetProjectionType() ); view->setMirrorMode( vd->GetMirrorMode() ); }