[Paraview] Applying Texture with Plugin

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Wed Jul 27 15:53:04 EDT 2011


Brian,

Attached is a demonstration. I've modiifed the "Representation"
example to add support for loading a texture.

Utkarsh

On Tue, Jul 26, 2011 at 11:01 AM, Brian C. Panneton (CONTR)
<brian.c.panneton.ctr at us.army.mil> wrote:
> I am able to set the color of the plane without an issue by using:
>
> [code]
> this->Actor->SetMapper(this->Mapper);
> this->Property->SetColor(.8, .4, .2);
> this->Actor->SetProperty(this->Property);
> rview->GetRenderer()->AddActor(this->Actor);
> rview->GetRenderer()->SetBackground(.1, .2, .3);
> [/code]
>
> So somehow, the texture is not loading properly. Does anyone know what is
> wrong here?
>
> Thanks,
> Brian
>
> Brian C. Panneton (CONTR) wrote:
>>
>> I am trying to make a simple plugin to automatically apply a texture to a
>> plane source. I am looking at this code for reference:
>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapPlane
>>
>> So far I have figured out that I need to use a custom representation, but
>> I have not figure out where to place the code. By using
>> vtkMySpecialRepresentation as a base, I added a RequestData() which does the
>> following:
>>
>> [code]
>> if(inputVector[0]->GetNumberOfInformationObjects()==1)
>>   {
>>       vtkDataObject* inputData = vtkDataObject::GetData(inputVector[0],
>> 0);
>>       vtkSmartPointer<vtkPlaneSource> ps =
>>           vtkPlaneSource::SafeDownCast(inputData);
>>       if(ps != NULL)
>>       {
>>           ps->SetCenter(0.0, 0.0, 0.0);
>>           ps->SetNormal(0.0, 0.0, 1.0);
>>
>>           vtkSmartPointer<vtkTextureMapToPlane> tp =
>>               vtkSmartPointer<vtkTextureMapToPlane>::New();
>>           tp->SetInput(ps->GetOutput());
>>
>>           this->Mapper->SetInputConnection(tp->GetOutputPort());
>>       }
>>   }
>>   return this->Superclass::RequestData(info, inputVector, outVector);
>> [/code]
>>
>> I then added AddToView() with the following:
>>
>> [code] vtkPVRenderView* rview = vtkPVRenderView::SafeDownCast(view);
>>  if (rview)
>>  {
>>   imgReader->SetFileName("/share/panneton/Desktop/blue.png");
>>   vtkSmartPointer<vtkTexture> texture =
>>       vtkSmartPointer<vtkTexture>::New();
>>   texture->SetInput(imgReader->GetOutput());
>>
>>   this->Actor->SetMapper(this->Mapper);
>>   this->Actor->SetTexture(texture);
>>   rview->GetRenderer()->AddActor(this->Actor);
>>   rview->GetRenderer()->SetBackground(.1, .2, .3);
>>  }
>>  return this->Superclass::AddToView(view);
>> [/code]
>>
>> This however does not seem to work. Am I going about this wrong?
>>
>> Thanks,
>> Brian Panneton
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Texture.tar.gz
Type: application/x-gzip
Size: 3203 bytes
Desc: not available
URL: <http://www.paraview.org/pipermail/paraview/attachments/20110727/1064ab20/attachment.bin>


More information about the ParaView mailing list