[Paraview-developers] object not displaying in the paraview window

Chiranjib Sur sur.chiranjib at gmail.com
Fri Apr 15 01:34:03 EDT 2016


Perfect! Thank you very much for your quick reply David.

Chiranjib

On Thu, Apr 14, 2016 at 6:43 PM, David E DeMarle <dave.demarle at kitware.com>
wrote:

> If this is a source, not a filter then call
> this->SetNumberOfInputPorts(0);
> in MyClass's constructor to override the default (likely 1) set by an
> ancestor class (vtkPolyDataAlgorithm likely).
>
>
> David E DeMarle
> Kitware, Inc.
> R&D Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4909
>
> On Thu, Apr 14, 2016 at 5:34 AM, Chiranjib Sur <sur.chiranjib at gmail.com>
> wrote:
>
>> Utkarsh and team,
>> Here I come again with a very similar question.
>>
>> I am creating a object using a C++ class in ParaView. I have implemented
>> the RequestData function in the following way but I keep getting the error
>> message :
>>
>> Input port 0 of algorithm MyClass(0x4961fc0) has 0 connections but is not
>> optional.
>>
>> What is going wrong here?
>>
>> Below is my implementation of RequestData
>>
>> Thanks in advance,
>>
>> Chiranjib
>>
>>
>> int MyClass::RequestData( vtkInformation*        vtkNotUsed( request ),
>>                                 vtkInformationVector** vtkNotUsed(
>> inputVector ),
>>                                 vtkInformationVector*  outputVector )
>> {
>>    // get the info object
>>     vtkInformation* outInfo = outputVector->GetInformationObject( 0 );
>>
>>    // get the output
>>     vtkPolyData* output = vtkPolyData::SafeDownCast( outInfo->Get(
>> vtkDataObject::DATA_OBJECT()));
>>
>>
>>
>>     vtkSmartPointer<vtkPolyData> polydata =
>> vtkSmartPointer<vtkPolyData>::New();
>>
>>     vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
>>     points->SetDataType( VTK_DOUBLE ); // Set precision for the vtk points
>>
>>  // generate my polydata with points etc.
>> ....
>> //  at this stage polydata is generated
>>
>>    output->ShallowCopy(polydata);
>>    output->Squeeze();
>>
>>    return 1;
>> }
>>
>> On Mon, Apr 27, 2015 at 3:37 PM, Chiranjib Sur <sur.chiranjib at gmail.com>
>> wrote:
>>
>>> Wow, This works like a magic !
>>>
>>> Thank you very much for the solution and sorry for my delay in updating
>>> about the problem I mentioned.
>>>
>>> Chiranjib
>>>
>>> On Fri, Apr 17, 2015 at 5:54 PM, Utkarsh Ayachit <
>>> utkarsh.ayachit at kitware.com> wrote:
>>>
>>>> You're missing a call to `transformModel->Update()` before calling
>>>> `transformModel->GetOutput()`. The filter never updated, and hence its
>>>> output is empty.
>>>>
>>>> Utkarsh
>>>>
>>>> On Fri, Apr 17, 2015 at 6:34 AM, Chiranjib Sur <sur.chiranjib at gmail.com>
>>>> wrote:
>>>> > Hi All,
>>>> > I want to apply the tranform filter while I create an object in
>>>> paraview. TO
>>>> > try with I have overloaded vtkCubeSource class and can create the
>>>> object
>>>> > which appears in the paraview pipeline and I can visualize the object
>>>> in the
>>>> > PV window.
>>>> >
>>>> > Now I want to apply the transformation filter (vtkTransform) to the
>>>> objct
>>>> > when I create it. To do that I have overloaded the RequestData
>>>> function like
>>>> > the following.
>>>> >
>>>> > The code is compiling and executing but when I create the object and
>>>> apply
>>>> > transform, nothing is appearing in the PV visualization window.
>>>> >
>>>> > Can anybody help me pointing out what is going wrong with my
>>>> implementation.
>>>> >
>>>> > I cam copying my code below
>>>> >
>>>> > Thanks,
>>>> > Chiranjib
>>>> >
>>>> >
>>>> > ------
>>>> >
>>>> >
>>>> >
>>>> > int MyOwnCubeSource::RequestData( vtkInformation *vtkNotUsed(request),
>>>> >
>>>> >                      vtkInformationVector **vtkNotUsed(inputVector),
>>>> >
>>>> >                      vtkInformationVector *outputVector)
>>>> >
>>>> > {
>>>> >
>>>> >   // get the info object
>>>> >
>>>> >   vtkInformation *outInfo = outputVector->GetInformationObject(0);
>>>> >
>>>> >
>>>> >
>>>> >   // get the ouptut
>>>> >
>>>> >   vtkPolyData *output = vtkPolyData::SafeDownCast(
>>>> >
>>>> >     outInfo->Get(vtkDataObject::DATA_OBJECT()));
>>>> >
>>>> > ....
>>>> >
>>>> > ....
>>>> >
>>>> >
>>>> >
>>>> > // output (type vtkPolyData) is already ready at this stage
>>>> >
>>>> >
>>>> >
>>>> > // If I don’t appy transform operation afterwards, I can visualize the
>>>> > object in the PV pipeline
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > // -----------------------------------------------//
>>>> >
>>>> >
>>>> >
>>>> > // Implementation of vtkTransform starts here
>>>> >
>>>> >
>>>> >
>>>> >     double _rotationZ = 30.0;
>>>> >
>>>> >
>>>> >
>>>> > // Define transform
>>>> >
>>>> >     vtkSmartPointer<vtkTransform> transform =
>>>> > vtkSmartPointer<vtkTransform>::New();
>>>> >
>>>> >
>>>> >
>>>> >     // Define transformModel : transform filter
>>>> >
>>>> >     vtkSmartPointer<vtkTransformFilter> transformModel =
>>>> > vtkSmartPointer<vtkTransformFilter>::New();
>>>> >
>>>> >     transformModel->SetTransform(transform);
>>>> >
>>>> >
>>>> >
>>>> >     //Decoupling the pipeline and asking the transformfilter to
>>>> update the
>>>> > newpipeline (created out of shallowcopy)
>>>> >
>>>> >     vtkNew<vtkPolyData> cubeCopy;
>>>> >
>>>> >     cubeCopy->ShallowCopy(output);
>>>> >
>>>> >     transformModel->SetInputData(cubeCopy.GetPointer());
>>>> >
>>>> >
>>>> >
>>>> >     // Describe all the transform operations
>>>> >
>>>> >      transform->PostMultiply();
>>>> >
>>>> >      transform->RotateZ(10*_rotationZ);
>>>> >
>>>> >      transform->Update();
>>>> >
>>>> >
>>>> >
>>>> >      // getting the transformed output
>>>> >
>>>> >      vtkSmartPointer<vtkDataSet> transformedOutput =
>>>> > transformModel->GetOutput();
>>>> >
>>>> >
>>>> >
>>>> >      // Shallowcopy the transformed output to the old pipeline
>>>> >
>>>> >
>>>> >
>>>> >     output->ShallowCopy(transformedOutput);
>>>> >
>>>> >
>>>> >
>>>> > // A this stage "output" should be updated and the visualization
>>>> pipeline
>>>> > should show the transformed object
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > Powered by www.kitware.com
>>>> >
>>>> > Visit other Kitware open-source projects at
>>>> > http://www.kitware.com/opensource/opensource.html
>>>> >
>>>> > Search the list archives at:
>>>> > http://markmail.org/search/?q=Paraview-developers
>>>> >
>>>> > Follow this link to subscribe/unsubscribe:
>>>> > http://public.kitware.com/mailman/listinfo/paraview-developers
>>>> >
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Search the list archives at:
>> http://markmail.org/search/?q=Paraview-developers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/paraview-developers
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20160415/cf6e0cd7/attachment-0001.html>


More information about the Paraview-developers mailing list