<DIV>hi;</DIV>
<DIV>  why  actor2->RotateWXYZ(-5,1,0,0) can't change ths collide->GetNumberOfContacts();collide->GetNumberOfContacts() is always 0,actually two actors have been collided;<BR></DIV>
<DIV> </DIV>
<DIV>vtkSphereSource *sphere0=vtkSphereSource::New();<BR>  sphere0->SetPhiResolution(30);<BR>  sphere0->SetThetaResolution(30);<BR>  sphere0->SetCenter(-0.7,0,0);<BR>  sphere0->Update(); <BR> vtkSphereSource *sphere1=vtkSphereSource::New();<BR>  sphere1->SetPhiResolution(30);<BR>  sphere1->SetThetaResolution(30);<BR>  sphere0->SetCenter(1.7,0,0);<BR>  sphere1->Update(); <BR> vtkMatrix4x4 *matrix0=vtkMatrix4x4::New();<BR> vtkMatrix4x4 *matrix1=vtkMatrix4x4::New(); <BR> vtkCollisionDetectionFilter *collide=vtkCollisionDetectionFilter::New();<BR>  collide->SetInput(0,sphere0->GetOutput());<BR>  collide->SetMatrix(0,matrix0);<BR>  collide->SetInput(1,sphere1->GetOutput());<BR>  collide->SetMatrix(1,matrix1);<BR>  collide->SetBoxTolerance(0.0);<BR>  collide->SetCellTolerance(0.0);<BR>  collide->SetNumberOfCellsPerBucket(2);<BR>  collide->GetCollisionModeMaxValue();<BR>  collide->GeneratePolydataOutputOn();<BR>  vtkTextActor *txt=vtkTextActor::New();<BR>  txt->GetTextProperty()->SetFontFamilyToCourier();   <BR> vtkSphereSource *point=vtkSphereSource::New();<BR>   point->SetRadius(0.01);<BR> vtkPolyData *pointdata=vtkPolyData::New();<BR>   pointdata->SetPoints(collide->GetContactPoints());  <BR> vtkGlyph3D *points=vtkGlyph3D::New();<BR>   points->SetInput(pointdata);<BR>   points->SetSource(point->GetOutput());  <BR> vtkPolyDataMapper *mapper1=vtkPolyDataMapper::New();<BR>   mapper1->SetInput(collide->GetOutput(0));<BR> vtkActor *actor1=vtkActor::New();<BR>   actor1->SetMapper(mapper1);<BR>   actor1->GetProperty()->BackfaceCullingOn();<BR>   actor1->SetUserMatrix(matrix0);  <BR> vtkPolyDataMapper *mapper2=vtkPolyDataMapper::New();<BR>   mapper2->SetInput(collide->GetOutput(1));<BR> vtkActor *actor2=vtkActor::New();<BR>   actor2->SetMapper(mapper2);<BR>   actor2->GetProperty()->BackfaceCullingOn();<BR>   actor2->SetUserMatrix(matrix1);<BR> vtkPolyDataMapper *mapper3=vtkPolyDataMapper::New();<BR>   mapper3->SetInput(points->GetOutput());<BR> vtkActor *actor3=vtkActor::New();<BR>   actor3->SetMapper(mapper3);<BR>   actor3->GetProperty()->SetColor(0,0,0);<BR>   <BR> vtkRenderer *ren=vtkRenderer::New();<BR>   ren->AddActor(actor1);<BR>   ren->AddActor(actor2);<BR>//ren AddObserver EndEvent ChangeOrigin<BR>//ren AddActor actor3<BR>    ChangeOrigin *changeorigin=ChangeOrigin::New();<BR>         changeorigin->actor1=actor1;<BR>   changeorigin->actor2=actor2;<BR>   changeorigin->collide=collide;<BR>   ren->AddObserver(vtkCommand::EndEvent,changeorigin);<BR> cbCollision *cbcollision=cbCollision::New();<BR>   cbcollision->collide=collide;<BR>   cbcollision->txt=txt;<BR>   cbcollision->points=points;<BR>   collide->AddObserver(vtkCommand::AnyEvent,cbcollision);<BR>   //ren->AddActor(actor3);  <BR>   ren->AddActor(txt);<BR>   ren->SetBackground(0.5,0.5,0.5);<BR>   <BR> vtkRenderWindow *renWin=vtkRenderWindow::New();<BR>   renWin->AddRenderer(ren);<BR>   int sum,j;<BR>   j=1;<BR>   for(int i=0;i<5;i++){<BR>    renWin->Render();<BR>    actor2->RotateWXYZ(-5,1,0,0);</DIV>
<DIV>    collide->Update();<BR>    sum=collide->GetNumberOfContacts();<BR>    j++;<BR>   }<BR> vtkInteractorStyleJoystickActor *istyle=vtkInteractorStyleJoystickActor::New();<BR> vtkRenderWindowInteractor *iren=vtkRenderWindowInteractor::New();<BR>   iren->SetRenderWindow(renWin);<BR>   iren->SetInteractorStyle(istyle);</DIV>
<DIV>   iren->Initialize();<BR>   iren->Start();</DIV><SPAN ></SPAN><br><!-- footer --><br><br><br><br><br><div style="border-bottom:1px solid #999"></div><br>

        <font color="black" style="font-size:14.8px">你 知 道 中 国 每 年 耗 费 多 少 一 次 性 筷 子 吗 ?</font>
        <br>
         <font style="font-size:13px;line-height:160%;color:blue">450亿双!相当于170万立方米的木材,大约需要砍伐2500万棵大树!</font> <a href="http://www.126.com/" target="_blank" style="font-size:13px;line-height:160%;color:blue"><网易邮箱公益宣传>
</a>