<div dir="ltr"><div>Hi Cory, </div><div><br></div>No, I don't receive an error message. <div>But when I move actors, they are overlapping. It doesn't prevent overlapping actors .</div><div><br></div><div>I don't know, maybe I made a mistake in the code.</div>
<div><br></div><div>Could You look at this part of code ? </div><div><br></div><div>Here, my code  :</div><div><br></div><div><div>int main(int, char *[])</div><div>{</div><div>  // Lower - first model</div><div>  vtkSmartPointer<vtkSTLReader> readerLower = vtkSmartPointer<vtkSTLReader>::New();</div>
<div>  readerLower->SetFileName("lower.stl");</div><div>  readerLower->Update();</div><div><br></div><div>  // Upper - second model</div><div>  vtkSmartPointer<vtkSTLReader> readerUpper = vtkSmartPointer<vtkSTLReader>::New();</div>
<div>  readerUpper->SetFileName("upper.stl");</div><div>  readerUpper->Update();</div><div><br></div><div>  // Create polydata</div><div>  vtkSmartPointer<vtkPolyData> lowerPolyData = readerLower->GetOutput();</div>
<div>  vtkSmartPointer<vtkPolyData> upperPolyData = readerUpper->GetOutput();</div><div><br></div><div>  // Set  input transform to avoid overlap actors (models)</div><div>  vtkSmartPointer<vtkTransform> transform = vtkSmartPointer<vtkTransform>::New();</div>
<div>  transform->PostMultiply();</div><div>  transform->RotateZ(180.0);</div><div>  transform->RotateX(180.0);</div><div>  transform->Translate(0,0,35);</div><div> </div><div>  // Set polydata filter </div><div>
  vtkSmartPointer<vtkTransformPolyDataFilter> transformFilter = vtkSmartPointer<vtkTransformPolyDataFilter>::New();</div><div>  transformFilter->SetInput(upperPolyData); </div><div>  transformFilter->SetTransform(transform);</div>
<div>  transformFilter->Update();</div><div> </div><div>  vtkSmartPointer<vtkPolyDataMapper> lowerMapper = vtkSmartPointer<vtkPolyDataMapper>::New();</div><div>  lowerMapper->SetInput(lowerPolyData);</div>
<div>  vtkSmartPointer<vtkPolyDataMapper> upperMapper =  vtkSmartPointer<vtkPolyDataMapper>::New();</div><div>  upperMapper->SetInput(upperPolyData);</div><div><br></div><div>  vtkSmartPointer<vtkActor> upperActor =  vtkSmartPointer<vtkActor>::New();</div>
<div>  upperActor->SetMapper(upperMapper);</div><div>  vtkSmartPointer<vtkActor> lowerActor =  vtkSmartPointer<vtkActor>::New();</div><div>  lowerActor->SetMapper(lowerMapper);</div><div>  lowerActor->SetUserTransform(transform);</div>
<div><br></div><div><b>  vtkSmartPointer<vtkIntersectionPolyDataFilter> intersectionPolyDataFilter = vtkSmartPointer<vtkIntersectionPolyDataFilter>::New();</b></div><div><b>  intersectionPolyDataFilter->SetInput( 0, lowerPolyData );</b></div>
<div><b>  intersectionPolyDataFilter->SetInput( 1, upperPolyData );</b></div><div><b>  intersectionPolyDataFilter->Update();</b></div><div><b> </b></div><div><b>  vtkSmartPointer<vtkPolyDataMapper> intersectionMapper = vtkSmartPointer<vtkPolyDataMapper>::New();</b></div>
<div><b>  intersectionMapper->SetInputConnection( intersectionPolyDataFilter->GetOutputPort() );</b></div><div><b>  intersectionMapper->ScalarVisibilityOff();</b></div><div><b> </b></div><div><b>  vtkSmartPointer<vtkActor> intersectionActor = vtkSmartPointer<vtkActor>::New();</b></div>
<div><b>  intersectionActor->SetMapper( intersectionMapper );</b></div><div><b>  intersectionActor->VisibilityOff();</b></div><div> </div><div><br></div><div>  // Visualization</div><div>  // Create a renderer, render window, and interactor</div>
<div><b>  vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();</b></div><div><b>  renderer->AddActor(lowerActor);</b></div><div><b>  renderer->AddActor(upperActor);</b></div><div>
<b>  renderer->AddActor(intersectionActor);</b><br></div><div>  </div><div>  // Render Window</div><div>  vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();</div><div>  renderWindow->AddRenderer(renderer);</div>
<div><br></div><div>  // Interactor</div><div>  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();</div><div>  renderWindowInteractor->SetRenderWindow(renderWindow);</div>
<div><br></div><div>  // Move actors</div><div>  vtkSmartPointer<vtkInteractorStyleTrackballActor> styleActor =  vtkSmartPointer<vtkInteractorStyleTrackballActor>::New(); </div><div>  renderWindowInteractor->SetInteractorStyle( styleActor );</div>
<div>  renderWindowInteractor->SetRenderWindow(renderWindow);</div><div><br></div><div>  // Render and interact</div><div>  renderer->SetBackground(.2, .3, .4);</div><div>  renderWindow->Render();</div><div>  renderWindowInteractor->Start();</div>
<div><br></div><div>  return EXIT_SUCCESS;</div><div>}</div></div><div><br></div><div><br></div><div>I would appreciate for any help please.</div><div><br></div><div>agatte</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014/1/23 Cory Quammen-2 [via VTK] <span dir="ltr"><<a href="/user/SendEmail.jtp?type=node&node=5725554&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>></span><br><blockquote style='border-left:2px solid #CCCCCC;padding:0 1em' class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">

        How do you know vtkIntersectionPolyDataFilter doesn't work?
<br><br>Is the intersection empty? Do you get an error message?
<br><br>Thanks,
<br>Cory
<br><br></div><div><div class="h5">On Wed, Jan 22, 2014 at 4:57 PM, agatte <<a href="http://user/SendEmail.jtp?type=node&node=5725553&i=0" rel="nofollow" link="external" target="_blank">[hidden email]</a>> wrote:
<div><div class='shrinkable-quote'><br>> Hi,
<br>>
<br>> I want to prevent overlapping/collision  of two actors in the render scene.
<br>> I have already tried vtkIntersectionFilter, bu tit doesn't work in my case.
<br>>
<br>> Could You advice me something different ?
<br>>
<br>> int main(int, char *[])
<br>> {
<br>>   // Lower - first model
<br>>   vtkSmartPointer<vtkSTLReader> readerLower =
<br>> vtkSmartPointer<vtkSTLReader>::New();
<br>>   readerLower->SetFileName("lower.stl");
<br>>   readerLower->Update();
<br>>
<br>>   // Upper - second model
<br>>   vtkSmartPointer<vtkSTLReader> readerUpper =
<br>> vtkSmartPointer<vtkSTLReader>::New();
<br>>   readerUpper->SetFileName("upper.stl");
<br>>   readerUpper->Update();
<br>>
<br>>   // Create polydata
<br>>   vtkSmartPointer<vtkPolyData> lowerPolyData = readerLower->GetOutput();
<br>>   vtkSmartPointer<vtkPolyData> pointsUpperPolyData =
<br>> readerUpper->GetOutput();
<br>>   pointsUpperPolyData->GetPoints();
<br>>
<br>>
<br>>   // Set  input transform to avoid overlap actors (models)
<br>>   vtkSmartPointer<vtkTransform> transform =
<br>> vtkSmartPointer<vtkTransform>::New();
<br>>   transform->PostMultiply();
<br>>   transform->RotateZ(180.0);
<br>>   transform->RotateX(180.0);
<br>>   transform->Translate(0,0,35);
<br>>
<br>>   // Set polydata filter
<br>>   vtkSmartPointer<vtkTransformPolyDataFilter> transformFilter =
<br>> vtkSmartPointer<vtkTransformPolyDataFilter>::New();
<br>>   transformFilter->SetInput(pointsUpperPolyData); // upperPolyData
<br>>   transformFilter->SetTransform(transform);
<br>>   transformFilter->Update();
<br>>
<br>>   vtkSmartPointer<vtkPolyDataMapper> lowerMapper =
<br>> vtkSmartPointer<vtkPolyDataMapper>::New();
<br>>   lowerMapper->SetInput(lowerPolyData);
<br>>   vtkSmartPointer<vtkPolyDataMapper> upperMapper =
<br>> vtkSmartPointer<vtkPolyDataMapper>::New();
<br>>   upperMapper->SetInput(pointsUpperPolyData);
<br>>
<br>>   vtkSmartPointer<vtkActor> upperActor =  vtkSmartPointer<vtkActor>::New();
<br>>   upperActor->SetMapper(upperMapper);
<br>>   vtkSmartPointer<vtkActor> lowerActor =  vtkSmartPointer<vtkActor>::New();
<br>>   lowerActor->SetMapper(lowerMapper);
<br>>   lowerActor->SetUserTransform(transform);
<br>>
<br>>
<br>>   vtkSmartPointer<vtkIntersectionPolyDataFilter> intersectionPolyDataFilter
<br>> =
<br>>     vtkSmartPointer<vtkIntersectionPolyDataFilter>::New();
<br>>   intersectionPolyDataFilter->SetInput( 0, lowerPolyData );
<br>>   intersectionPolyDataFilter->SetInput( 1, pointsUpperPolyData );
<br>>   intersectionPolyDataFilter->Update();
<br>>
<br>>   vtkSmartPointer<vtkPolyDataMapper> intersectionMapper =
<br>> vtkSmartPointer<vtkPolyDataMapper>::New();
<br>>   intersectionMapper->SetInputConnection(
<br>> intersectionPolyDataFilter->GetOutputPort() );
<br>>   intersectionMapper->ScalarVisibilityOff();
<br>>
<br>>   vtkSmartPointer<vtkActor> intersectionActor =
<br>> vtkSmartPointer<vtkActor>::New();
<br>>   intersectionActor->SetMapper( intersectionMapper );
<br>>
<br>>   //vtkSmartPointer<vtkRenderer> renderer =
<br>> vtkSmartPointer<vtkRenderer>::New();
<br>>   //renderer->AddViewProp(sphere1Actor);
<br>>   //renderer->AddViewProp(sphere2Actor);
<br>>   //renderer->AddViewProp(intersectionActor);
<br>>
<br>>
<br>>   // Visualization
<br>>
<br>>   // Create a renderer, render window, and interactor
<br>>   vtkSmartPointer<vtkRenderer> renderer =
<br>> vtkSmartPointer<vtkRenderer>::New();
<br>>   renderer->AddActor(lowerActor);
<br>>   renderer->AddActor(upperActor);
<br>>   //renderer->AddActor(booleanOperationActor);
<br>>   renderer->AddActor(intersectionActor);
<br>>
<br>>   // Render Window
<br>>   vtkSmartPointer<vtkRenderWindow> renderWindow =
<br>> vtkSmartPointer<vtkRenderWindow>::New();
<br>>   renderWindow->AddRenderer(renderer);
<br>>
<br>>   // Interactor
<br>>   vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
<br>> vtkSmartPointer<vtkRenderWindowInteractor>::New();
<br>>   renderWindowInteractor->SetRenderWindow(renderWindow);
<br>>
<br>>   // Move actors
<br>>   vtkSmartPointer<vtkInteractorStyleTrackballActor> styleActor =
<br>> vtkSmartPointer<vtkInteractorStyleTrackballActor>::New();
<br>>   renderWindowInteractor->SetInteractorStyle( styleActor );
<br>>   renderWindowInteractor->SetRenderWindow(renderWindow);
<br>>
<br>>   // Render and interact
<br>>   renderer->SetBackground(.2, .3, .4);
<br>>   renderWindow->Render();
<br>>   renderWindowInteractor->Start();
<br>>
<br>>   return EXIT_SUCCESS;
<br>> }
<br>>
<br>>
<br>> I would appreciate for any help please.
<br>>
<br>>
<br>>
<br>>
<br>>
<br>> --
<br>> View this message in context: <a href="http://vtk.1045678.n5.nabble.com/Collision-detection-How-to-prevent-overlapping-actors-tp5725551.html" rel="nofollow" link="external" target="_blank">http://vtk.1045678.n5.nabble.com/Collision-detection-How-to-prevent-overlapping-actors-tp5725551.html</a></div>
> Sent from the VTK - Users mailing list archive at Nabble.com.
<br>> _______________________________________________
<br>> Powered by <a href="http://www.kitware.com" target="_blank" rel="nofollow" link="external">www.kitware.com</a>
<br>>
<br>> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="nofollow" link="external" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>>
<br>> Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="nofollow" link="external" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>>
<br>> Follow this link to subscribe/unsubscribe:
<br>> <a href="http://www.vtk.org/mailman/listinfo/vtkusers" rel="nofollow" link="external" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a></div>_______________________________________________
<br>Powered by <a href="http://www.kitware.com" target="_blank" rel="nofollow" link="external">www.kitware.com</a>
<br><br>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="nofollow" link="external" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br><br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="nofollow" link="external" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:
<br><a href="http://www.vtk.org/mailman/listinfo/vtkusers" rel="nofollow" link="external" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>

        
        
        
        <br>
        <br>
        </div></div><hr noshade size="1" color="#cccccc">
        <div style="color:#444;font:12px tahoma,geneva,helvetica,arial,sans-serif">
                <div style="font-weight:bold">If you reply to this email, your message will be added to the discussion below:</div>
                <a href="http://vtk.1045678.n5.nabble.com/Collision-detection-How-to-prevent-overlapping-actors-tp5725551p5725553.html" target="_blank" rel="nofollow" link="external">http://vtk.1045678.n5.nabble.com/Collision-detection-How-to-prevent-overlapping-actors-tp5725551p5725553.html</a>
        </div>
        <div style="color:#666;font:11px tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em;line-height:1.5em">
                
                To unsubscribe from [Collision detection ] How to prevent overlapping actors ?, <a href="" target="_blank" rel="nofollow" link="external">click here</a>.<br>

                <a href="http://vtk.1045678.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml" rel="nofollow" style="font:9px serif" target="_blank" link="external">NAML</a>
        </div></blockquote></div><br></div>
<!--start-attachments--><div class="small"><br/><img src="http://vtk.1045678.n5.nabble.com/images/icon_attachment.gif" > <strong>screenOverlapping.png</strong> (214K) <a href="http://vtk.1045678.n5.nabble.com/attachment/5725554/0/screenOverlapping.png" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->

        
        
        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://vtk.1045678.n5.nabble.com/Collision-detection-How-to-prevent-overlapping-actors-tp5725551p5725554.html">Re: [Collision detection ] How to prevent overlapping actors ?</a><br/>
Sent from the <a href="http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html">VTK - Users mailing list archive</a> at Nabble.com.<br/>