Releases: SeanDS/optivis
Optivis 0.3.0
Optivis 0.2.0
Optivis
Optivis is a layout engine for optical configurations. It's pretty simple to use: you add a bunch of components to your bench and define links between them. Optivis handles the drawing of links between the components, all of which can be rotated to different angles. There is support for components with multiple inputs and outputs, and inputs and outputs can have arbitrary angles with respect to the components.
Optivis uses a base set of SVG graphics produced by Alexander Franzen (http://www.gwoptics.org/ComponentLibrary/). Internally, Optivis uses Qt for display, and this allows SVG graphics to retain high degree of fidelity after transformation operations have been applied to them - so everything looks pretty. Eventually it is planned to have Optivis able to export optical configurations into new SVG graphics files, for use in papers, presentations and other documents.
Screenshots
Optivis can make simple connections...
Or more complicated ones.
It can also handle situations where outputs are connected back to inputs via other components, such as the beam splitter below. Note also the presence of start and end markers - these can be switched on or off.
It is possible to define component inputs with respect to the component's angle. This is useful for mirrors, where the angle of incidence and orientation of the optic determines the angle of reflection.
Optivis leverages Qt's powerful scenes and views toolkit. This means that scenes can be scaled, and underlying image fidelity is not lost.
Proof of concept release
Optivis
Optivis is a layout engine for optical configurations. Basically, you add a bunch of components to your table and define links between them. Optivis handles the drawing of links between the components, all of which can be rotated to different angles. There is support for components with multiple inputs and outputs, and inputs and outputs can have arbitrary angles with respect to the components.
Optivis uses a base set of SVG graphics produced by Alexander Franzen (http://www.gwoptics.org/ComponentLibrary/). Internally, it converts the SVG graphics into bitmaps for the purposes of display, but eventually it is planned to be able to export optical configurations from Optivis into new SVG files, for convenient insertion into papers, presentations and other documents.
Screenshots
Optivis can connect components together and display markers for the start and end of each link:
Optivis can handle situations where outputs are connected back to inputs via other components (such as the beam splitter below). Optivis currently favours the optic placed first when it decides the layout of components, but it warns the user if they have tried to over-define an environment (such as setting a length of 50 in one direction and 100 in other).
It is possible to define component inputs with respect to the component's angle. This is useful for mirrors, where the angle of incidence and orientation of the optic determines the angle of reflection.