通道里的参数vrDrawContext *context是什么结构的,我有需要从外面传来的参数,是要直接改notify 机构还是要全局量,我的代码
void ModelVega::notify(vsChannel::Event event, const vsChannel *channel,
vrDrawContext *context)
{
vrStateMgr *stateMgr = context->getStateMgr();
if(strcmp("planechannel",channel->getName()) == 0)
{
}
if(strcmp("screenchannel",channel->getName()) == 0)
{
Planstate * pPlanState=pDataManage;
double planpos[3]={pPlanState->Posg[0],pPlanState->Posg[1],pPlanState->Posg[2]};
double planang[3]={pPlanState->Sitag[0],pPlanState->Sitag[1],pPlanState->Sitag[2]};
glDisable(GL_FOG);
//////////////
glDisable(GL_TEXTURE_2D | GL_TEXTURE_1D);
glDisable(GL_LIGHTING | GL_CULL_FACE);
glShadeModel(GL_FLAT);
///////////////
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);
////////////////////////////////////
glLoadIdentity();
glTranslatef(0.000000,0,-5);
//////////////////////
glPushMatrix();
glRotatef(-planang[2],0,0,1);
////////////////////////////////////////////////
glLineWidth(2.0f);
glColor3f(1,1,1);
glBegin(GL_LINES);
glVertex3f(-0.12,0,0);
glVertex3f(0.12,0,0);
glVertex3f(0,0,0); //-0.12
glVertex3f(0,0.12,0);
//////////////
glVertex3f(-0.06,-0.06,0);
glVertex3f(0.06,-0.06,0);
glVertex3f(-0.06,-0.06,0);
glVertex3f(-0.06,0.06,0);
glVertex3f(0.06,0.06,0);
glVertex3f(0.06,-0.06,0);
glVertex3f(0.06,0.06,0);
glVertex3f(-0.06,0.06,0);
glEnd();
glPopMatrix();
/////////////////////////////////////////////////
{
int i;
glPushMatrix();
////////////////////////////////////////////////
glLineWidth(1.0f);
glColor3f(0,1,0);
for(i=-9;i<=9;i++)
{
double Basey=-planang[1]/100;
double cty=Basey+i*0.1;
if(i==0)
glLineWidth(2.0f);
else
glLineWidth(1.0f);
if(cty>-0.5&&cty<0.5)
{
glBegin(GL_LINES);
glVertex3f(-0.3+abs(i)*0.018,cty,0);
glVertex3f(0.3-abs(i)*0.018,cty,0);
glEnd();
}
}
glPopMatrix();
}
///////////////////////
glEnable(GL_DEPTH_TEST);
// glEnable(GL_LIGHTING);
}
//vpChannel * pChan->addSubscriber(vsChannel::EVENT_POST_DRAW, this);
glPushAttrib(GL_ALL_ATTRIB_BITS);
OpenGLDisp(pDataManageVega);
glPopAttrib();
}
请问怎么修改呢,谢谢!!:loveliness:
[ 本帖最后由 russelcrowe 于 2006-11-16 02:27 PM 编辑 ] |