Display and Views
Which display technology does CADability use?
CADability uses OpenGL (minimum required version is 1.1) which is installed on most computers. Internally there is an interface to the display driver that could also be implemented by a DirectX driver. This will be implemented when required.
How to change viewpoint or projection of the model?
The user interface provides interactive means to change the view. The middle mouse button is used to scroll and to change the view direction (when the Ctrl key is pressed), the mouse wheel is used for zooming. There are also menue commands for these actions.
To change the viewpoint with program code, you will first have to gain access to the ModelView e.g. by calling ActiveView of SingleDocumentFrame. Then use SetProjection or use the projection property of the view for more control.
What is the difference between parallel projection and perspective view?
By default you will see a parallel projection or orthographic projection of the model. This is like looking from an infinite point at the model. So the parallel projection is defined by a vector, the direction of the view. With zooming and scrolling you can choose the visible parts of the model.
The perspective projection on the other hand is defined by a point (where the camera is located) and a direction (where the camera points to). Objects behind the camera will be invisible. With the perspective projection you can see part of the inside of a solid, which is impossible with the parallel projection. It is more like "real life".
The Projection object provides methods for setting parallel or perspective projections.
How to display multiple views simultaneously?
The frame (SingleDocumentFrame) hosts user interface elements (toolbars, controlcenter) and the views. By default there is only one view. Use SplitViews to specify the number of views (1 to 4) visible in this frame.
How to show animated views?
To show a moving model use the AnimatedView object. It is mainly used to display machine movement but may also be used for other purposes. You will have to define the objects (geometric entities) which can be moved and the drives that achieve the movement. Drives may be linear, rotation or any path. Then you will also have to provide a schedule or program according to which the objects move, or alternatively provide an callback object which determines the positions of the drives in real time.
There is a demo in C# installed in the source folder of your installation that gives a short introduction into the usage of the AnimatedView.