fixed errors
This commit is contained in:
@@ -198,7 +198,7 @@ public:
|
||||
|
||||
|
||||
|
||||
Puppet::Puppet() : Object(), d(new PuppetData) {
|
||||
Puppet::Puppet() : Object(), pd(new PuppetData) {
|
||||
ULIB_ACTIVATE_DISPLAY_PROPERTIES;
|
||||
for (auto* p : this->GetDisplayProperties()) {
|
||||
uLib::Object::connect(p, &uLib::PropertyBase::Updated, this, &Puppet::Update);
|
||||
@@ -207,25 +207,25 @@ Puppet::Puppet() : Object(), d(new PuppetData) {
|
||||
|
||||
Puppet::~Puppet()
|
||||
{
|
||||
delete d;
|
||||
delete pd;
|
||||
}
|
||||
|
||||
vtkProp *Puppet::GetProp()
|
||||
{
|
||||
if (d->m_Assembly->GetParts()->GetNumberOfItems() == 1)
|
||||
return d->m_Assembly->GetParts()->GetLastProp();
|
||||
if (pd->m_Assembly->GetParts()->GetNumberOfItems() == 1)
|
||||
return pd->m_Assembly->GetParts()->GetLastProp();
|
||||
else
|
||||
return d->m_Assembly;
|
||||
return pd->m_Assembly;
|
||||
}
|
||||
|
||||
void Puppet::SetProp(vtkProp *prop)
|
||||
{
|
||||
if(prop) {
|
||||
prop->SetPickable(d->m_Selectable);
|
||||
prop->SetPickable(pd->m_Selectable);
|
||||
if (auto* p3d = vtkProp3D::SafeDownCast(prop)) {
|
||||
d->m_Assembly->AddPart(p3d);
|
||||
pd->m_Assembly->AddPart(p3d);
|
||||
}
|
||||
d->ApplyAppearance(prop);
|
||||
pd->ApplyAppearance(prop);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,12 +237,12 @@ void Puppet::RemoveProp(vtkProp *prop)
|
||||
|
||||
vtkPropCollection *Puppet::GetParts()
|
||||
{
|
||||
return d->m_Assembly->GetParts();
|
||||
return pd->m_Assembly->GetParts();
|
||||
}
|
||||
|
||||
vtkPropCollection *Puppet::GetProps()
|
||||
{
|
||||
return d->m_Assembly->GetParts();
|
||||
return pd->m_Assembly->GetParts();
|
||||
}
|
||||
|
||||
void Puppet::ConnectRenderer(vtkRenderer *renderer)
|
||||
@@ -253,14 +253,14 @@ void Puppet::ConnectRenderer(vtkRenderer *renderer)
|
||||
renderer->AddViewProp(prop);
|
||||
}
|
||||
|
||||
if (d->m_ShowBoundingBox && d->m_OutlineActor) renderer->AddActor(d->m_OutlineActor);
|
||||
if (d->m_ShowScaleMeasures && d->m_CubeAxesActor) {
|
||||
d->m_CubeAxesActor->SetCamera(renderer->GetActiveCamera());
|
||||
renderer->AddActor(d->m_CubeAxesActor);
|
||||
if (pd->m_ShowBoundingBox && pd->m_OutlineActor) renderer->AddActor(pd->m_OutlineActor);
|
||||
if (pd->m_ShowScaleMeasures && pd->m_CubeAxesActor) {
|
||||
pd->m_CubeAxesActor->SetCamera(renderer->GetActiveCamera());
|
||||
renderer->AddActor(pd->m_CubeAxesActor);
|
||||
}
|
||||
|
||||
if (d->m_Selected && d->m_HighlightActor) {
|
||||
renderer->AddActor(d->m_HighlightActor);
|
||||
if (pd->m_Selected && pd->m_HighlightActor) {
|
||||
renderer->AddActor(pd->m_HighlightActor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -271,8 +271,8 @@ void Puppet::DisconnectRenderer(vtkRenderer *renderer)
|
||||
if(vtkProp* prop = this->GetProp())
|
||||
renderer->RemoveViewProp(prop);
|
||||
|
||||
if (d->m_ShowBoundingBox && d->m_OutlineActor) renderer->RemoveActor(d->m_OutlineActor);
|
||||
if (d->m_ShowScaleMeasures && d->m_CubeAxesActor) renderer->RemoveActor(d->m_CubeAxesActor);
|
||||
if (pd->m_ShowBoundingBox && pd->m_OutlineActor) renderer->RemoveActor(pd->m_OutlineActor);
|
||||
if (pd->m_ShowScaleMeasures && pd->m_CubeAxesActor) renderer->RemoveActor(pd->m_CubeAxesActor);
|
||||
|
||||
this->GetRenderers()->RemoveItem(renderer);
|
||||
}
|
||||
@@ -290,47 +290,47 @@ void Puppet::DisonnectViewer(Viewer *viewer)
|
||||
|
||||
vtkRendererCollection *Puppet::GetRenderers() const
|
||||
{
|
||||
return d->m_Renderers;
|
||||
return pd->m_Renderers;
|
||||
}
|
||||
|
||||
void Puppet::PrintSelf(std::ostream &o) const
|
||||
{
|
||||
o << "Props Assembly: \n";
|
||||
d->m_Assembly->PrintSelf(o,vtkIndent(1));
|
||||
pd->m_Assembly->PrintSelf(o,vtkIndent(1));
|
||||
|
||||
o << "Connected Renderers: \n";
|
||||
d->m_Renderers->PrintSelf(o,vtkIndent(1));
|
||||
pd->m_Renderers->PrintSelf(o,vtkIndent(1));
|
||||
}
|
||||
|
||||
void Puppet::ShowBoundingBox(bool show)
|
||||
{
|
||||
if (d->m_ShowBoundingBox == show) return;
|
||||
d->m_ShowBoundingBox = show;
|
||||
if (pd->m_ShowBoundingBox == show) return;
|
||||
pd->m_ShowBoundingBox = show;
|
||||
if (show) {
|
||||
if (!d->m_OutlineActor) {
|
||||
d->m_OutlineSource = vtkSmartPointer<vtkOutlineSource>::New();
|
||||
d->m_OutlineActor = vtkSmartPointer<vtkActor>::New();
|
||||
if (!pd->m_OutlineActor) {
|
||||
pd->m_OutlineSource = vtkSmartPointer<vtkOutlineSource>::New();
|
||||
pd->m_OutlineActor = vtkSmartPointer<vtkActor>::New();
|
||||
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
|
||||
mapper->SetInputConnection(d->m_OutlineSource->GetOutputPort());
|
||||
d->m_OutlineActor->SetMapper(mapper);
|
||||
d->m_OutlineActor->GetProperty()->SetColor(1.0, 1.0, 1.0);
|
||||
mapper->SetInputConnection(pd->m_OutlineSource->GetOutputPort());
|
||||
pd->m_OutlineActor->SetMapper(mapper);
|
||||
pd->m_OutlineActor->GetProperty()->SetColor(1.0, 1.0, 1.0);
|
||||
}
|
||||
|
||||
double* bounds = d->m_Assembly->GetBounds();
|
||||
d->m_OutlineSource->SetBounds(bounds);
|
||||
d->m_OutlineSource->Update();
|
||||
double* bounds = pd->m_Assembly->GetBounds();
|
||||
pd->m_OutlineSource->SetBounds(bounds);
|
||||
pd->m_OutlineSource->Update();
|
||||
|
||||
d->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < d->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = d->m_Renderers->GetNextItem();
|
||||
renderer->AddActor(d->m_OutlineActor);
|
||||
pd->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < pd->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = pd->m_Renderers->GetNextItem();
|
||||
renderer->AddActor(pd->m_OutlineActor);
|
||||
}
|
||||
} else {
|
||||
if (d->m_OutlineActor) {
|
||||
d->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < d->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = d->m_Renderers->GetNextItem();
|
||||
renderer->RemoveActor(d->m_OutlineActor);
|
||||
if (pd->m_OutlineActor) {
|
||||
pd->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < pd->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = pd->m_Renderers->GetNextItem();
|
||||
renderer->RemoveActor(pd->m_OutlineActor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -338,31 +338,31 @@ void Puppet::ShowBoundingBox(bool show)
|
||||
|
||||
void Puppet::ShowScaleMeasures(bool show)
|
||||
{
|
||||
if (d->m_ShowScaleMeasures == show) return;
|
||||
d->m_ShowScaleMeasures = show;
|
||||
if (pd->m_ShowScaleMeasures == show) return;
|
||||
pd->m_ShowScaleMeasures = show;
|
||||
if (show) {
|
||||
if (!d->m_CubeAxesActor) {
|
||||
d->m_CubeAxesActor = vtkSmartPointer<vtkCubeAxesActor>::New();
|
||||
d->m_CubeAxesActor->SetFlyModeToOuterEdges();
|
||||
d->m_CubeAxesActor->SetUseTextActor3D(1);
|
||||
d->m_CubeAxesActor->GetProperty()->SetColor(1.0, 1.0, 1.0);
|
||||
if (!pd->m_CubeAxesActor) {
|
||||
pd->m_CubeAxesActor = vtkSmartPointer<vtkCubeAxesActor>::New();
|
||||
pd->m_CubeAxesActor->SetFlyModeToOuterEdges();
|
||||
pd->m_CubeAxesActor->SetUseTextActor3D(1);
|
||||
pd->m_CubeAxesActor->GetProperty()->SetColor(1.0, 1.0, 1.0);
|
||||
}
|
||||
|
||||
double* bounds = d->m_Assembly->GetBounds();
|
||||
d->m_CubeAxesActor->SetBounds(bounds);
|
||||
double* bounds = pd->m_Assembly->GetBounds();
|
||||
pd->m_CubeAxesActor->SetBounds(bounds);
|
||||
|
||||
d->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < d->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = d->m_Renderers->GetNextItem();
|
||||
d->m_CubeAxesActor->SetCamera(renderer->GetActiveCamera());
|
||||
renderer->AddActor(d->m_CubeAxesActor);
|
||||
pd->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < pd->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = pd->m_Renderers->GetNextItem();
|
||||
pd->m_CubeAxesActor->SetCamera(renderer->GetActiveCamera());
|
||||
renderer->AddActor(pd->m_CubeAxesActor);
|
||||
}
|
||||
} else {
|
||||
if (d->m_CubeAxesActor) {
|
||||
d->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < d->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = d->m_Renderers->GetNextItem();
|
||||
renderer->RemoveActor(d->m_CubeAxesActor);
|
||||
if (pd->m_CubeAxesActor) {
|
||||
pd->m_Renderers->InitTraversal();
|
||||
for (int i = 0; i < pd->m_Renderers->GetNumberOfItems(); ++i) {
|
||||
vtkRenderer *renderer = pd->m_Renderers->GetNextItem();
|
||||
renderer->RemoveActor(pd->m_CubeAxesActor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -376,12 +376,12 @@ void Puppet::SetRepresentation(Representation mode)
|
||||
case Wireframe: rep = VTK_WIREFRAME; break;
|
||||
case Surface: rep = VTK_SURFACE; break;
|
||||
}
|
||||
d->m_Representation = rep;
|
||||
pd->m_Representation = rep;
|
||||
|
||||
vtkProp3DCollection *props = d->m_Assembly->GetParts();
|
||||
vtkProp3DCollection *props = pd->m_Assembly->GetParts();
|
||||
props->InitTraversal();
|
||||
for (int i = 0; i < props->GetNumberOfItems(); ++i) {
|
||||
d->ApplyAppearance(props->GetNextProp3D());
|
||||
pd->ApplyAppearance(props->GetNextProp3D());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,25 +395,25 @@ void Puppet::SetRepresentation(const char *mode)
|
||||
|
||||
void Puppet::SetColor(double r, double g, double b)
|
||||
{
|
||||
d->m_Color[0] = r;
|
||||
d->m_Color[1] = g;
|
||||
d->m_Color[2] = b;
|
||||
pd->m_Color[0] = r;
|
||||
pd->m_Color[1] = g;
|
||||
pd->m_Color[2] = b;
|
||||
|
||||
vtkProp3DCollection *props = d->m_Assembly->GetParts();
|
||||
vtkProp3DCollection *props = pd->m_Assembly->GetParts();
|
||||
props->InitTraversal();
|
||||
for (int i = 0; i < props->GetNumberOfItems(); ++i) {
|
||||
d->ApplyAppearance(props->GetNextProp3D());
|
||||
pd->ApplyAppearance(props->GetNextProp3D());
|
||||
}
|
||||
}
|
||||
|
||||
void Puppet::SetOpacity(double alpha)
|
||||
{
|
||||
d->m_Opacity = alpha;
|
||||
pd->m_Opacity = alpha;
|
||||
|
||||
vtkProp3DCollection *props = d->m_Assembly->GetParts();
|
||||
vtkProp3DCollection *props = pd->m_Assembly->GetParts();
|
||||
props->InitTraversal();
|
||||
for (int i = 0; i < props->GetNumberOfItems(); ++i) {
|
||||
d->ApplyAppearance(props->GetNextProp3D());
|
||||
pd->ApplyAppearance(props->GetNextProp3D());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -425,8 +425,8 @@ void Puppet::SetOpacity(double alpha)
|
||||
|
||||
void Puppet::SetSelectable(bool selectable)
|
||||
{
|
||||
d->m_Selectable = selectable;
|
||||
vtkProp3DCollection *props = d->m_Assembly->GetParts();
|
||||
pd->m_Selectable = selectable;
|
||||
vtkProp3DCollection *props = pd->m_Assembly->GetParts();
|
||||
props->InitTraversal();
|
||||
for (int i = 0; i < props->GetNumberOfItems(); ++i) {
|
||||
props->GetNextProp3D()->SetPickable(selectable);
|
||||
@@ -435,43 +435,43 @@ void Puppet::SetSelectable(bool selectable)
|
||||
|
||||
bool Puppet::IsSelectable() const
|
||||
{
|
||||
return d->m_Selectable;
|
||||
return pd->m_Selectable;
|
||||
}
|
||||
|
||||
void Puppet::SetSelected(bool selected)
|
||||
{
|
||||
if (!d->m_Selectable) return;
|
||||
if (d->m_Selected == selected) return;
|
||||
d->m_Selected = selected;
|
||||
d->UpdateHighlight();
|
||||
if (!pd->m_Selectable) return;
|
||||
if (pd->m_Selected == selected) return;
|
||||
pd->m_Selected = selected;
|
||||
pd->UpdateHighlight();
|
||||
}
|
||||
|
||||
bool Puppet::IsSelected() const
|
||||
{
|
||||
return d->m_Selected;
|
||||
return pd->m_Selected;
|
||||
}
|
||||
|
||||
void Puppet::Update()
|
||||
{
|
||||
vtkProp3DCollection *props = d->m_Assembly->GetParts();
|
||||
vtkProp3DCollection *props = pd->m_Assembly->GetParts();
|
||||
props->InitTraversal();
|
||||
for (int i = 0; i < props->GetNumberOfItems(); ++i) {
|
||||
d->ApplyAppearance(props->GetNextProp3D());
|
||||
pd->ApplyAppearance(props->GetNextProp3D());
|
||||
}
|
||||
|
||||
if (d->m_Selected) {
|
||||
d->UpdateHighlight();
|
||||
if (pd->m_Selected) {
|
||||
pd->UpdateHighlight();
|
||||
}
|
||||
|
||||
if (d->m_ShowBoundingBox) {
|
||||
double* bounds = d->m_Assembly->GetBounds();
|
||||
d->m_OutlineSource->SetBounds(bounds);
|
||||
d->m_OutlineSource->Update();
|
||||
if (pd->m_ShowBoundingBox) {
|
||||
double* bounds = pd->m_Assembly->GetBounds();
|
||||
pd->m_OutlineSource->SetBounds(bounds);
|
||||
pd->m_OutlineSource->Update();
|
||||
}
|
||||
|
||||
if (d->m_ShowScaleMeasures) {
|
||||
double* bounds = d->m_Assembly->GetBounds();
|
||||
d->m_CubeAxesActor->SetBounds(bounds);
|
||||
if (pd->m_ShowScaleMeasures) {
|
||||
double* bounds = pd->m_Assembly->GetBounds();
|
||||
pd->m_CubeAxesActor->SetBounds(bounds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -480,11 +480,11 @@ void Puppet::ConnectInteractor(vtkRenderWindowInteractor *interactor)
|
||||
}
|
||||
|
||||
void Puppet::serialize_display(Archive::display_properties_archive & ar, const unsigned int version) {
|
||||
ar & boost::serialization::make_hrp("ColorR", d->m_Color[0]);
|
||||
ar & boost::serialization::make_hrp("ColorG", d->m_Color[1]);
|
||||
ar & boost::serialization::make_hrp("ColorB", d->m_Color[2]);
|
||||
ar & boost::serialization::make_hrp("Opacity", d->m_Opacity);
|
||||
ar & boost::serialization::make_hrp("Representation", d->m_Representation);
|
||||
ar & boost::serialization::make_hrp("ColorR", pd->m_Color[0]);
|
||||
ar & boost::serialization::make_hrp("ColorG", pd->m_Color[1]);
|
||||
ar & boost::serialization::make_hrp("ColorB", pd->m_Color[2]);
|
||||
ar & boost::serialization::make_hrp("Opacity", pd->m_Opacity);
|
||||
ar & boost::serialization::make_hrp("Representation", pd->m_Representation);
|
||||
}
|
||||
|
||||
void Puppet::serialize(Archive::xml_oarchive & ar, const unsigned int v) { }
|
||||
|
||||
Reference in New Issue
Block a user