[vtkusers] Re: Re: Re: Drawing a simple line graph (CONTINUES...)

Isidro Moreno morenoisidro at yahoo.com.ar
Wed Jul 25 09:54:05 EDT 2007


OK, now I would like somebody to help me because I'm a bit confused. I don't 
know if I'm misunderstood or there's something wrong with 
GetPosition2Coordinate(...) method. ( Do you agree with me in the fact that 
I shouldn't change cell's or any type geometric data? )

Thanks, Isidro.


> Yes, I meant 1.0, 1.0, 0.0. Sorry for the typo.
>
> Isidro Moreno wrote:
>> You may mean ".... instead of  1.0 1.0 0.0", do you? If yes, I answer: 
>> yes,
>> i've tried and work OK, but I'm altering the cell's geometry. I'm using a
>> similar code to draw a curve line, and that was the solution I've found 
>> at
>> the moment: filtering the geometry data to normalized viewport values. 
>> But
>> it would be easier if GetPosition2Coordinate worked! In fact, it works OK
>> with vtkActor2D classes that are below it in the hierarchical tree. 
>> There's
>> could be a bug...
>>
>>
>> > Hi Isidro,
>> >
>> > Have you tried setting your second point to 0.5, 0.5, 0 instead of 1.0,
>> > 1.0, 1.0?
>> >
>> > - Amy
>> >
>> > Isidro Moreno wrote:
>> >>  Hi! I think this method _definitely doesn't work_:
>> >> vtkActor2D->GetPosition2Coordinate->SetValue(x,y,z).
>> >>  This is my code (a simple straight line):
>> >>  /*This should draw a diagonal in the left-bottom quarter of the
>> window,
>> >> but the diagonal crosses the whole screen. If the commented lines
>> below
>> >> are enabled, the behaviour it's the same*/
>> >>  #include "vtkActor2D.h"
>> >> #include "vtkRenderWindow.h"
>> >> #include "vtkRenderer.h"
>> >> #include "vtkRenderWindowInteractor.h"
>> >> #include "vtkPolyDataMapper2D.h"
>> >> #include "vtkProperty2D.h"
>> >> #include "vtkPolyData.h"
>> >> #include "vtkPoints.h"
>> >> #include "vtkCellArray.h"
>> >> #include "vtkCamera.h"
>> >>  int main(int argc, char *argv[]){
>> >>  vtkPolyData *linea=vtkPolyData::New();
>> >>     vtkPoints *puntos=vtkPoints::New();
>> >>     vtkCellArray *lineas=vtkCellArray::New();
>> >>  vtkPolyDataMapper2D *mapper=vtkPolyDataMapper2D::New();
>> >>     vtkActor2D *actor=vtkActor2D::New();
>> >>     vtkRenderer *render=vtkRenderer::New();
>> >>     vtkRenderWindow *ventana=vtkRenderWindow::New();
>> >>     vtkRenderWindowInteractor
>> *interac=vtkRenderWindowInteractor::New();
>> >>     vtkCoordinate *coor=vtkCoordinate::New();
>> >>  lineas->InsertNextCell(2);
>> >>     lineas->InsertCellPoint(0);
>> >>     lineas->InsertCellPoint(1);
>> >>  puntos->InsertPoint(0,0.0,0.0,0.0);
>> >>     puntos->InsertPoint(1,1.0,1.0,0.0);
>> >>  linea->SetPoints(puntos);
>> >>     linea->SetLines(lineas);
>> >>  coor->SetCoordinateSystemToNormalizedViewport();
>> >>  mapper->SetInput(linea);
>> >>     mapper->SetTransformCoordinate(coor);
>> >>  actor->SetMapper(mapper);
>> >>     actor->GetProperty()->SetColor(1.0,0.0,0.0);
>> >>
>> >>
>> actor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport();
>> >>
>> >>
>> actor->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport();
>> >>     //actor->GetPosition2Coordinate()->SetReferenceCoordinate(NULL);
>> >>    actor->GetPositionCoordinate()->SetValue(0.0,0.0,0.0);
>> >>     actor->GetPosition2Coordinate()->SetValue(0.5,0.5,0.0);
>> //¡¡¡Here!!!
>> >>  render->AddActor2D(actor);
>> >>     render->SetBackground(0.1,0.2,0.4);
>> >> //    render->ResetCamera();
>> >> //    render->ResetCameraClippingRange();
>> >>  ventana->AddRenderer(render);
>> >>  interac->SetRenderWindow(ventana);
>> >>  ventana->Render();
>> >>     interac->Start();
>> >>  linea->Delete();
>> >>     puntos->Delete();
>> >>     lineas->Delete();
>> >>  mapper->Delete();
>> >>     actor->Delete();
>> >>     render->Delete();
>> >>     ventana->Delete();
>> >>     interac->Delete();
>> >>     coor->Delete();
>> >>  return 0;}
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> This is the private VTK discussion list. Please keep messages on-topic. 
>> Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>
> -- 
> Amy Squillacote
> Kitware, Inc.
> 28 Corporate Drive
> Clifton Park, NY 12065
> Phone: (518) 371-3971 x106
>
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 
> 269.10.9/907 - Release Date: 18/7/2007 15:30
>
> 




More information about the vtkusers mailing list