[vtkusers] Re: Re: Drawing a simple line graph (CONTINUES...)
Isidro Moreno
morenoisidro at yahoo.com.ar
Mon Jul 23 09:10:19 EDT 2007
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