<br>
In refrence to my recent post I am pasting the source code so that it
can better help in understanding my problem. My vtkActor object is not
visible when vtkVolume is rendered. Is this a vtk limitation? are there
any workarounds? I tired using a vtkTextActor and that did get
overlayed over the volume. However,I want to be able to highlight
points inside the volume dynamically. Any pointers will be deeply
appreciated. Thanks,<br>
<br>
vtkRenderer *aRenderer = vtkRenderer::New();<br>
&nbsp; vtkRenderWindow *renWin = vtkRenderWindow::New();<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(aRenderer);<br>
&nbsp; vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();<br>
&nbsp;&nbsp;&nbsp; iren-&gt;SetRenderWindow(renWin);<br>
<br>
&nbsp; vtkVolume16Reader *v16 = vtkVolume16Reader::New();<br>
&nbsp;&nbsp;&nbsp; v16-&gt;SetDataDimensions (64,64);<br>
&nbsp;&nbsp;&nbsp; v16-&gt;SetImageRange (1,93);<br>
&nbsp;&nbsp;&nbsp; v16-&gt;SetDataByteOrderToLittleEndian();<br>
&nbsp;&nbsp;&nbsp; v16-&gt;SetFilePrefix (argv[1]); //this is the VTKData-release-4-2\Data\headsq\quarter data set<br>
&nbsp;&nbsp;&nbsp; v16-&gt;SetDataSpacing (3.2, 3.2, 1.5);<br>
<br>
&nbsp;&nbsp;&nbsp; //Volume Rendering the dataset<br>
&nbsp;&nbsp;&nbsp; vtkPiecewiseFunction* opacityTF&nbsp; = vtkPiecewiseFunction::New();<br>
<br>
&nbsp;&nbsp;&nbsp; opacityTF-&gt;AddPoint(0,0);<br>
&nbsp;&nbsp;&nbsp; opacityTF-&gt;AddPoint(255,1);<br>
&nbsp;&nbsp;&nbsp; //create the volume property to describe how the volume would look like<br>
&nbsp;&nbsp;&nbsp; vtkVolumeProperty* volumeProperty = vtkVolumeProperty::New();<br>
&nbsp;&nbsp;&nbsp; //set the color and opacity transfer function to the volume property<br>
&nbsp;&nbsp;&nbsp; volumeProperty-&gt;SetScalarOpacity(opacityTF);<br>
&nbsp;&nbsp;&nbsp; volumeProperty-&gt;ShadeOn();<br>
&nbsp;&nbsp;&nbsp; volumeProperty-&gt;SetAmbient(0.1);<br>
&nbsp;&nbsp;&nbsp; volumeProperty-&gt;SetDiffuse(0.7);<br>
&nbsp;&nbsp;&nbsp; volumeProperty-&gt;SetSpecular(.2);<br>
&nbsp;&nbsp;&nbsp; volumeProperty-&gt;SetSpecularPower(10);<br>
&nbsp;&nbsp;&nbsp; //create the ray cast function to render the data<br>
&nbsp;&nbsp;&nbsp; vtkVolumeRayCastCompositeFunction* compositeFunction = vtkVolumeRayCastCompositeFunction::New();<br>
&nbsp;&nbsp;&nbsp; //create the volume mapper<br>
&nbsp;&nbsp;&nbsp; vtkVolumeRayCastMapper* volumeMapper = vtkVolumeRayCastMapper::New();<br>
&nbsp;&nbsp;&nbsp; //set the ray cast function to be used by the volume mapper<br>
&nbsp;&nbsp;&nbsp; volumeMapper-&gt;SetVolumeRayCastFunction(compositeFunction);<br>
&nbsp;&nbsp;&nbsp; volumeMapper-&gt;SetInput(v16-&gt;GetOutput());<br>
&nbsp;&nbsp;&nbsp; volumeMapper-&gt;IntermixIntersectingGeometryOn();<br>
&nbsp;&nbsp;&nbsp; //create the volume to hold the volume mapper and the volume property<br>
&nbsp;&nbsp;&nbsp; vtkVolume* volume = vtkVolume::New();<br>
&nbsp;&nbsp;&nbsp; //set the volume mapper and the property<br>
&nbsp;&nbsp;&nbsp; volume-&gt;SetMapper(volumeMapper);<br>
&nbsp;&nbsp;&nbsp; volume-&gt;SetProperty(volumeProperty);<br>
&nbsp;&nbsp;&nbsp; //add the volume prop to the renderer<br>
<br>
&nbsp;&nbsp;&nbsp; //Add a cone<br>
&nbsp;&nbsp;&nbsp; vtkConeSource *cone = vtkConeSource::New();<br>
&nbsp; &nbsp;&nbsp;&nbsp; cone-&gt;SetHeight( 3.0 );<br>
&nbsp; cone-&gt;SetRadius( 1.0 );<br>
&nbsp; cone-&gt;SetResolution( 10 );<br>
&nbsp; <br>
&nbsp; vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();<br>
&nbsp; coneMapper-&gt;SetInput( cone-&gt;GetOutput() );<br>
&nbsp; vtkActor *coneActor = vtkActor::New();<br>
&nbsp; coneActor-&gt;SetMapper( coneMapper );<br>
&nbsp; vtkCamera *aCamera = vtkCamera::New();<br>
&nbsp;&nbsp;&nbsp; aCamera-&gt;SetViewUp (0, 0, -1);<br>
&nbsp;&nbsp;&nbsp; aCamera-&gt;SetPosition (0, 1, 0);<br>
&nbsp;&nbsp;&nbsp; aCamera-&gt;SetFocalPoint (0, 0, 0);<br>
&nbsp;&nbsp;&nbsp; aCamera-&gt;ComputeViewPlaneNormal();<br>
&nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; aRenderer-&gt;AddVolume(volume);<br>
&nbsp;&nbsp;&nbsp;&nbsp; aRenderer-&gt;AddActor(coneActor );&nbsp; <br>
<br>
&nbsp; aRenderer-&gt;SetActiveCamera(aCamera);<br>
&nbsp; aRenderer-&gt;ResetCamera ();<br>
&nbsp; aCamera-&gt;Dolly(1.5);<br>
<br>
&nbsp; // Set a background color for the renderer and set the size of the<br>
&nbsp; // render window (expressed in pixels).<br>
&nbsp; aRenderer-&gt;SetBackground(1,1,1);<br>
&nbsp; renWin-&gt;SetSize(640, 480);<br>
<br>
&nbsp; aRenderer-&gt;ResetCameraClippingRange ();<br>
<br>
&nbsp; // Initialize the event loop and then start it.<br>
&nbsp; iren-&gt;Initialize();<br>
&nbsp; iren-&gt;Start(); <br clear="all"><br>Cheers,<br>
Abhishek<br>