After modify vtkCubeAxesActor
TitleText
colour,CPU usage 100%.
Set the uniform color and everything is normal
class Callback : public vtkCommand
{
public:
vtkTypeMacro(Callback, vtkCommand);
static Callback *New();
void Execute(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData));
vtkRenderWindow *window_;
};
vtkStandardNewMacro(Callback);
void Callback::Execute(vtkObject *vtkNotUsed(caller),
unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData))
{
window_->Render();
}
int main(int, char *[])
{
vtkNew<vtkRenderer> renderer;
vtkNew<vtkCubeAxesActor> cubeAxesActor;
cubeAxesActor->SetCamera(renderer->GetActiveCamera());
cubeAxesActor->GetTitleTextProperty(0)->SetColor(0.0, 1.0, 0.0);
cubeAxesActor->GetTitleTextProperty(1)->SetColor(0.0, 1.0, 0.0);
cubeAxesActor->GetTitleTextProperty(2)->SetColor(0.0, 1.0, 0.0);
renderer->AddActor(cubeAxesActor);
renderer->ResetCamera();
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer);
renderWindow->SetSize(640, 480);
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->Render();
renderer->GetActiveCamera()->Zoom(0.8);
vtkNew<Callback> callback;
callback->window_ = renderWindow;
renderWindowInteractor->CreateRepeatingTimer(10);
renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, callback);
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
Set different colors,CPU usage 100%.
class Callback : public vtkCommand
{
public:
vtkTypeMacro(Callback, vtkCommand);
static Callback *New();
void Execute(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData));
vtkRenderWindow *window_;
};
vtkStandardNewMacro(Callback);
void Callback::Execute(vtkObject *vtkNotUsed(caller),
unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData))
{
window_->Render();
}
int main(int, char *[])
{
vtkNew<vtkRenderer> renderer;
vtkNew<vtkCubeAxesActor> cubeAxesActor;
cubeAxesActor->SetCamera(renderer->GetActiveCamera());
cubeAxesActor->GetTitleTextProperty(1)->SetColor(0.0, 1.0, 0.0);
renderer->AddActor(cubeAxesActor);
renderer->ResetCamera();
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer);
renderWindow->SetSize(640, 480);
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->Render();
renderer->GetActiveCamera()->Zoom(0.8);
vtkNew<Callback> callback;
callback->window_ = renderWindow;
renderWindowInteractor->CreateRepeatingTimer(10);
renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, callback);
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
Comment out these three lines. Everything is normal
https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/Annotation/vtkCubeAxesActor.cxx#L1668