Problems in using vtkCubeAxesActor() instance. (Number representing, and contamination)

382 views Asked by At

I have three questions.

enter image description here

Q1. In the picture above, only X axis displays actual numbers(:300,400,etc.) but Z axis just shows ratio number accompanying 'Z(x10^3)'. How can I show actual numbers for Y,Z axes as well?

Q2. In background, "contaminated" things(:characters?) are shown. How can I suppress that?

Q3. When I set big numbers as bounds like this one,

cubeAxesActor.SetBounds(0, 1100, 0, 1100, 0, 1100)

instead of

cubeAxesActor.SetBounds(polyD_src.GetBounds())  

actual number are not shown and ratio numbers(0.1, 0.2, ~ 1.0) along axes are shown. How can I constraint numbers for showing its actual numbers?

Part of code is this one. Thank you!

    cubeAxesActor = vtk.vtkCubeAxesActor()
    self.renderer.AddActor(cubeAxesActor)     
    axes = vtk.vtkAxesActor()

    cubeAxesActor.SetUseTextActor3D(1)
    cubeAxesActor.SetBounds(polyD_src.GetBounds())        
    cubeAxesActor.SetCamera(self.renderer.GetActiveCamera())
    cubeAxesActor.GetTitleTextProperty(0).SetFontSize(1)

    cubeAxesActor.GetTitleTextProperty(0).SetColor(tickColor)
    cubeAxesActor.GetLabelTextProperty(0).SetColor(tickColor)
    cubeAxesActor.GetTitleTextProperty(1).SetColor(tickColor)
    cubeAxesActor.GetLabelTextProperty(1).SetColor(tickColor)
    cubeAxesActor.GetTitleTextProperty(2).SetColor(tickColor)
    cubeAxesActor.GetLabelTextProperty(2).SetColor(tickColor)
    cubeAxesActor.GetXAxesLinesProperty().SetColor(tickColor)
    cubeAxesActor.GetYAxesLinesProperty().SetColor(tickColor)
    cubeAxesActor.GetZAxesLinesProperty().SetColor(tickColor)
    cubeAxesActor.GetXAxesGridlinesProperty().SetColor(tickColor)
    cubeAxesActor.GetYAxesGridlinesProperty().SetColor(tickColor)
    cubeAxesActor.GetZAxesGridlinesProperty().SetColor(tickColor)
    cubeAxesActor.XAxisMinorTickVisibilityOff()
    cubeAxesActor.YAxisMinorTickVisibilityOff()
    cubeAxesActor.ZAxisMinorTickVisibilityOff()      

    cubeAxesActor.SetXTitle("Y");
    cubeAxesActor.SetYTitle("Z");
    cubeAxesActor.SetZTitle("X");
    cubeAxesActor.SetFlyModeToStaticEdges()

    transform = vtk.vtkTransform()
    transform.Translate(0.0, 0.0, 0.0)
    transform.RotateZ(-90)
    transform.RotateY(-90)

    self.renderer.ResetCamera()

    self.renderer.SetBackground(backgroundColor)
    self.vtkWidget.GetRenderWindow().AddRenderer(self.renderer)        
    self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()

    self.frame_vis.setLayout(self.bl)
    self.show()
    self.iren.Initialize();'''
1

There are 1 answers

0
oye On

int vtkCubeAxesActor::LabelExponent(double min, double max) { ... // // Determine power of 10 to scale axis labels to. // double range = (fabs(min) > fabs(max) ? fabs(min) : fabs(max)); double pow10 = log10(range);

const double eformat_cut_min = -1.5; const double eformat_cut_max = 5.0; // orgin is 3.0 1000 change 5 (10000) ... }