18 #include "vtkTransform.h"
19 #include "vtkDiskSource.h"
20 #include "vtkTransformPolyDataFilter.h"
21 #include "vtkPolyDataMapper.h"
23 #include "vtkProperty.h"
24 #include "vtkRenderWindow.h"
36 ((vtkActor*)(
ren_->GetActors()->GetItemAsObject(
selected_)))->GetProperty()->SetColor(.8,.8,.8);
47 std::cerr << ref <<
" " << u <<
" " <<
v << std::endl;
49 vtkTransform * trans = vtkTransform::New();
50 trans->Translate(u,
v,0.1);
51 pos_.push_back(trans);
52 vtkDiskSource * disk = vtkDiskSource::New();
53 disk->SetCircumferentialResolution(20);
54 disk->SetRadialResolution(3);
55 disk->SetOuterRadius(3.);
56 disk->SetInnerRadius(2.);
57 vtkTransformPolyDataFilter * move = vtkTransformPolyDataFilter::New();
58 move->SetInputConnection(disk->GetOutputPort());
60 move->SetTransform(trans);
61 vtkPolyDataMapper * map = vtkPolyDataMapper::New();
62 map->SetInputConnection(move->GetOutputPort());
64 vtkActor * actor = vtkActor::New();
65 actor->SetMapper(map);
67 actor->GetProperty()->SetColor(1.,0.,0.);
68 actor->GetProperty()->SetOpacity(.6);
70 ren_->AddActor(actor);
79 vtkActor * actor =
ren_->GetActors()->GetLastActor();
80 ren_->RemoveActor(actor);
82 ren_->GetRenderWindow()->Render();
91 vtkActor * actor = (vtkActor*)(
ren_->GetActors()->GetItemAsObject(
selected_));
92 ren_->RemoveActor(actor);
94 ren_->GetRenderWindow()->Render();
98 vtkActor * act = (vtkActor*)(
ren_->GetActors()->GetItemAsObject(
selected_));
99 act->GetProperty()->SetColor(1.,0.,0.);
100 ren_->GetRenderWindow()->Render();
108 std::cerr <<
ref_[ref] <<
" " << u <<
" " <<
v << std::endl;
110 pos_[ref]->GetPosition(p1);
111 pos_[ref]->Translate(u-p1[0],
v-p1[1], 0);
112 pos_[ref]->Modified();
120 for (
int i=0; i<
n; i++)
123 pos_[i]->GetPosition(p);
124 double d = sqrt((p[0]-u)*(p[0]-u)+(p[1]-
v)*(p[1]-
v));
143 act = (vtkActor*)(
ren_->GetActors()->GetItemAsObject(
selected_));
144 act->GetProperty()->SetColor(.8,.8,.8);
146 act = (vtkActor*)(
ren_->GetActors()->GetItemAsObject(
selected_));
147 act->GetProperty()->SetColor(1.,0.,0.);
159 ren_->GetRenderWindow()->Render();
166 std::cout <<
ref_[
selected_-2] <<
"\t" << p[0] <<
"\t" << p[1] << std::endl;
174 std::cerr <<
"importing " <<
n <<
" points" << std::endl;
175 for (
int i=0; i<
n; i++)
181 std::cerr << ref <<
" " << u <<
" " <<
v << std::endl;
188 o << l.
ref_.size() << std::endl;
189 for (
int i=0; i<l.
ref_.size(); i++)
192 l.
pos_[i]->GetPosition(p);
193 o << l.
ref_[i] <<
"\t" << p[0] <<
"\t" << p[1] << std::endl;
std::vector< vtkTransform * > pos_
void erase_selected_point()
void moa_point(int ref, double u, double v)
void add_or_moa_point(double u, double v)
int pick_point(double u, double v)
int select_point(double u, double v)
void export_selected_point()
void add_point(int ref, double u, double v)
double v(const uint32_t step, const uint32_t n)
std::istream & operator>>(std::istream &in, pixelpos_points &l)
std::ostream & operator<<(std::ostream &o, const pixelpos_points &l)