<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.emailstyle17
        {font-family:Arial;
        color:windowtext;}
span.EmailStyle18
        {font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> I was able to get this to work by
inserting a vtkClipPolydata filter using the clipping plane as the
ClipFunction.</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'>-----Original Message-----<br>
<b><span style='font-weight:bold'>From:</span></b> Donny Zimmerman
[mailto:donny.zimmerman@willowpointsoftware.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Friday, January 06, 2012
10:06 PM<br>
<b><span style='font-weight:bold'>To:</span></b> vtkusers@vtk.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> [vtkusers] Clipping
planes don't work for vtkLabelPlacementMapper</span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I am rendering points using
vtkPolyDataMapper and I am associating a clipping plane with that mapper. I am
also using vtkLabelPlacementMapper to display data associated with each point
and I also added the same clipping plane to this mapper. The clipping plane for
the polydata mapper works as intended, but does not work with the label
placement mapper. I assume this is because this is a 2D mapper. Is there any
way I can make the point labels clip along with it’s associated point?</span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>
<p class=MsoNormal style='margin-left:1.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
polydata = vtkSmartPointer<vtkPolyData>::New();</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
polydata->SetPoints(points);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
polydata->GetPointData()->AddArray(labels);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
polydata->GetPointData()->AddArray(sizes);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
<font color=green><span style='color:green'>// Create a mapper and actor for
the points.</span></font></span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
pointmapper = vtkSmartPointer<vtkPolyDataMapper>::New();</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
pointmapper->SetClippingPlanes(<font color=blue><span style='color:blue'>this</span></font>->m_planecollection);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
pointmapper->SetInput(polydata);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
pointactor = vtkSmartPointer<vtkActor>::New();</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
pointactor->SetMapper(pointmapper);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
<font color=green><span style='color:green'>// Generate the label hierarchy.</span></font></span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
sizefilter = vtkSmartPointer<vtkPointSetToLabelHierarchy>::New();</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
sizefilter->SetInput(polydata);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
sizefilter->SetLabelArrayName(<font color="#a31515"><span style='color:#A31515'>"labels"</span></font>);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
sizefilter->SetPriorityArrayName(<font color="#a31515"><span
style='color:#A31515'>"sizes"</span></font>);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
sizefilter->Update();</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
<font color=green><span style='color:green'>// Create a mapper and actor for
the labels.</span></font></span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
labelmapper =
vtkSmartPointer<vtkLabelPlacementMapper>::New();
</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
labelmapper->SetClippingPlanes(<font color=blue><span style='color:blue'>this</span></font>->m_planecollection);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
labelmapper->SetInputConnection(sizefilter->GetOutputPort());</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
labelactor = vtkSmartPointer<vtkActor2D>::New();</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
labelactor->SetMapper(labelmapper);</span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
m_actors->AddItem(pointactor);</span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>
m_actors->AddItem(labelactor);</span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>
<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'> </span></font></p>
</div>
</body>
</html>