# Top, Left, Right, Bottom, Back View.

**URL:** https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426
**Category:** Support
**Tags:** jobs, training, proposal
**Created:** [October 15, 2020, 11:19am UTC](https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426 "2020-10-15T11:19:25Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Seram](https://discourse.vtk.org/user_avatar/discourse.vtk.org/seram/32/1783_2.png) [@Seram](https://discourse.vtk.org/u/Seram)
#### Post date: [October 15, 2020, 11:19am UTC](https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426/1 "2020-10-15T11:19:25Z")

</div>

Hello,

ex) Top View  
( ![CloudCompare](https://discourse.vtk.org/uploads/default/original/2X/8/82502cce36049b127e807192f32c34fc14c39677.png)

I programmed the code below to implement CloudCompare Top View.  
But it looks like a Top View, but I don’t think it’s a perfect Top View.  
( It seems to be tilted very slightly. )

Let me know what I made a mistake.

vtkCamera \*m\_vtkCamera;  
m\_vtkCamera = m\_vtkRenderer-\>GetActiveCamera();  
m\_vtkCamera-\>SetFocalPoint(0, 0, 0);  
m\_vtkCamera-\>SetViewUp(0, 0, 0);  
m\_vtkCamera-\>SetPosition(0, 0, 1);

BR

---

<div class="post-metadata">

### Author: ![Paulo\_Carvalho](https://discourse.vtk.org/user_avatar/discourse.vtk.org/paulo_carvalho/32/370_2.png) [@Paulo\_Carvalho](https://discourse.vtk.org/u/Paulo_Carvalho)
#### Post date: [October 15, 2020, 9:34pm UTC](https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426/2 "2020-10-15T21:34:01Z")

</div>

Hi, Seram,

This is how I do “look at plane” (the 3 first button in your case):

```cpp
void View3DWidget::onLookAtXY()
{
    //_renderer->ResetCamera();
    double *fp = _rendererMainScene->GetActiveCamera()->GetFocalPoint();
    double *p = _rendererMainScene->GetActiveCamera()->GetPosition();
    double dist
        = std::sqrt((p[0] - fp[0]) * (p[0] - fp[0]) + (p[1] - fp[1]) * (p[1] - fp[1])
                    + (p[2] - fp[2]) * (p[2] - fp[2]));
    _rendererMainScene->GetActiveCamera()->SetPosition(fp[0], fp[1], fp[2] + dist);
    _rendererMainScene->GetActiveCamera()->SetViewUp(0.0, 1.0, 0.0);
    // redraw the scene
    _vtkwidget->GetRenderWindow()->Render();
}

void View3DWidget::onLookAtXZ()
{
    double *fp = _rendererMainScene->GetActiveCamera()->GetFocalPoint();
    double *p = _rendererMainScene->GetActiveCamera()->GetPosition();
    double dist
        = std::sqrt((p[0] - fp[0]) * (p[0] - fp[0]) + (p[1] - fp[1]) * (p[1] - fp[1])
                    + (p[2] - fp[2]) * (p[2] - fp[2]));
    _rendererMainScene->GetActiveCamera()->SetPosition(fp[0], fp[1] - dist, fp[2]);
    _rendererMainScene->GetActiveCamera()->SetViewUp(0.0, 0.0, 1.0);
    // redraw the scene
    _vtkwidget->GetRenderWindow()->Render();
}

void View3DWidget::onLookAtYZ()
{
    double *fp = _rendererMainScene->GetActiveCamera()->GetFocalPoint();
    double *p = _rendererMainScene->GetActiveCamera()->GetPosition();
    double dist
        = std::sqrt((p[0] - fp[0]) * (p[0] - fp[0]) + (p[1] - fp[1]) * (p[1] - fp[1])
                    + (p[2] - fp[2]) * (p[2] - fp[2]));
    _rendererMainScene->GetActiveCamera()->SetPosition(fp[0] + dist, fp[1], fp[2]);
    _rendererMainScene->GetActiveCamera()->SetViewUp(0.0, 0.0, 1.0);
    // redraw the scene
    _vtkwidget->GetRenderWindow()->Render();
}

```

For the other 3 buttons, you need to swap the signs of the sums/diffs in the `_rendererMainScene->GetActiveCamera()->SetPosition()` calls (e.g. from `fp[0] + dist` to `fp[0] - dist`);

I hope this helps,

regards,

Paulo

---

<div class="post-metadata">

### Author: ![Seram](https://discourse.vtk.org/user_avatar/discourse.vtk.org/seram/32/1783_2.png) [@Seram](https://discourse.vtk.org/u/Seram)
#### Post date: [October 15, 2020, 11:43pm UTC](https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426/4 "2020-10-15T23:43:21Z")

</div>

Hi Paulo

I tried applying the code, but it’s still slightly tilted.  
Is there any way to look like CloudCompare?

 ![T](https://discourse.vtk.org/uploads/default/original/2X/1/12fa8ff3ce2ea5cedf8953003b5140691852f0f4.png)

BR  
Seram

---

<div class="post-metadata">

### Author: ![fraseyboo](https://discourse.vtk.org/user_avatar/discourse.vtk.org/fraseyboo/32/2411_2.png) [@fraseyboo](https://discourse.vtk.org/u/fraseyboo)
#### Post date: [October 16, 2020, 12:09am UTC](https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426/5 "2020-10-16T00:09:04Z")

</div>

This looks more like the perspective of the camera rather than the camera position, you can set the projection to be parallel by adding:

```
m_vtkCamera->ParallelProjectionOn();

```

You can always toggle this option too.

---

<div class="post-metadata">

### Author: ![Seram](https://discourse.vtk.org/user_avatar/discourse.vtk.org/seram/32/1783_2.png) [@Seram](https://discourse.vtk.org/u/Seram)
#### Post date: [October 16, 2020, 5:20am UTC](https://discourse.vtk.org/t/top-left-right-bottom-back-view/4426/6 "2020-10-16T05:20:38Z")

</div>

Hi Fraseyboo

Thanks for the answer.  
Thanks to that, the problem was solved.

BR  
Seram
