Bezier Editor GUI Help Page



Version

First of all: This is free software - see License.
Second: This is a beta version! Please do not expect it to be free of bugs...
Help me to improve the software by reporting bugs, possible improvements, etc. to: <rammelt@cs.tu-berlin.de>.



Loading / Saving


This part describes what are the minimum steps to create an image:
Load
Load a scene description in XML format (see ./xsd/E3DBezierMesh.xsd)
Save
                          image
Save a scene description in XML format (see ./xsd/E3DBezierMesh.xsd)



Editing

Select Needles / Bezier Meshes:
Select a needle, point or a mesh of several needles/points by clicking it with the left mouse button. You can select more objects when holding <Ctrl> pressed while clicking on not yet selected points/needles/meshes. Clicking on objects which are already selected while holding <Ctrl> pressed will deselect these objects.
If you select meshes all needles/points contained by any of the selected meshes will be selected as well.
Press "q" while selecting needles/points to select all needles/points which are in the same row of a mesh.
Press "a" while selecting needles/points to select all needles/points which are in the same column of a mesh.
Add Bezier Meshes:

On tab "TEMPLATES" select either point meshes () or bezier meshes () and create spheres, cylinders, rectangles and rings emplate Select (exactly) four needles (<Ctrl> + left mouse button) and press <Insert> to create a new bezier surface (the order in which the needles are selected matters - i.e. you must select the needles all around the new surface!)
Remove Needles /
Bezier Surfaces:
Select needles and/or bezier/point meshes to delete them by <Delete>. If a point/needle is selected all point/meshes using that point/needle will be removed. Additionally all other points/needles not belonging to any other mesh will be removed.
Notice: Since all points/needles of a mesh will be selected for a selected mesh, you cannot delete single meshes sharing points/needles with other meshes by selecting the mesh itself. Instead select one point/needle of the mesh that is not shared by ony other mesh and press <Delete>.
Rotate Needles (and Points):
Rotate the needle around its pinpoint by dragging it with the left mouse button. The orientation of the needle defines the normal vector in its pinpoint for all bezier surfaces containing this needle. All these surfaces get updated accordingly.
Notice I: Selected needles (even if there is just one needle selected) do not rotate around their pinpoint anymore - instead they will rotate around the point grabbed with mouse!
Notice 2: Deselected points are point-symmetrical, i.e. rotation has no effect. Selected points, on the other hand, will rotate around the point grabbed with mouse (just like needles and all other selected objects).
Translate Needles and Points: Translate a needle/point in the x- and y-direction by dragging it with the right mouse button. Translate it in z-direction by dragging it with the middle mouse button (notice that you won't see any movement of the point/needle if you are using a parallel perspective)
Rotate Meshes:
Select meshes as described before. Then you can rotate the selected meshes by dragging them with the left mouse button.
Translate Meshes: Select meshes as described before and drag them with the right mouse button (x-, y-direction) or the middle mouse button (z-direction). Again notice that you won't see any movement when moving along the z-axis using a parallel perspective.
Transform Meshes:
Select meshes as described before. Using the entries in menu "Edit->Transformations" you can mirror/rotate the selected objects.
Change the Orientation of Meshes:
Select meshes as described before. Using the entries in menu "Edit->Orientation" you can change the inner orientation of meshes, which affects the orientation of (individual) textures painted on those meshes.
Copy / Cut / Paste /
Undo / Redo:
...should all work as usual...

Scale:
scale
Scale selected (all objects if there is currently none selected).



3D / View Parameters

View-Direction:
Define the view point here.
x
x-coordinate.
y
y-coordinate.
z
z-coordinate.
You can change the view direction also by dragging (deselected) bezier surfaces with the left mouse-button.
You can also set the view-direction to the front-view (<Home>/<Pos1>), back-view (<End>), top-view (<UP>), bottom-view (<DOWN>), left-view (<LEFT>), right-view (<RIGHT>).

Translation:
Define the translations of the object along the x, y, and z-axis here.
x
x-translation.
y
y-translation.
z
z-translation.
You can move the whole scene also by dragging (deselected) bezier surfaces with the right mouse-button.

Zoom:
zoom
Zoom factor.
You can zoom/unzoom the whole scene also by dragging (deselected) bezier surfaces with the middle mouse-button (direction up/down).

Leight-Position:
Define the position of the (single) directed light source here.
x
x-coordinate.
y
y-coordinate.
z
z-coordinate.
You can move the light also by dragging the light point (semi-transparent white circle) with the right mouse-button.

Image-Positions:
Define the translations of the background, side and top-image here
x
x-translation of the side image.
y
y-translations of the top image.
z
z-translations of the background image.

Lense:
zoom
Adjust the focal length of the lense. The smaller this value is the higher the spatial distortion will be. If the focal length is 0 a parallel perspective is used instead.

Texture-Files:
Define and enable/disable textures
Front/Back:
Front/back images are displayed on a square (1 x 1) and (partly) as a texture on all surfaces tagged with "_FRONT" / "_BACK".
Left/Right:
Side image are displayed on a square (1 x 1) and (partly) as a texture on all surfaces tagged with "_LEFT" / "_RIGHT".
Top/Bottom:
Top/bottom images areis displayed on a square (1 x 1) and (partly) as a texture on all surfaces tagged with "_TOP" / "_BOTTOM".

Detail Level
detail level
Make only every Nth point/needle in each mesh editable. The points inbetween will be interpolated by the given interpolation function.

Point and Needle Size:
point and needle size Size of points and needle (1 = normal size). If the value is 0 no points and needles are shown anymore.



Edit Parameters

Edit Tags:
Edit
Mark tags here (you can mark multiple tags by pressing <Ctrl> while clicking on tags).
Get Tags Get the tags from the first selected object (the tags found from that object will be marked in the tag list).
Add
                        Tags
Add the tags marked in the tag list to all selected objects.
Remove
                        Tags
Remove the marked tags from all selected objects.
Create
                        new Tags
Create a new tag with the given name.
Delete
                        Tags
Delete the selected tags completely.

Select by Tags:
Select Select bezier surfaces by selecting tags here (you can select multiple tags by pressing <Ctrl> while clicking on tags).
Select all
Select all objects.
Deselect all
Deselect all objects.
AND-Mode Only those objects will be selected which are tagged by all selected tags.
OR-Mode All objects will be selected which are tagged by any of the selected tags.

Color:
red
Red channel.
green
Green channel.
blue
Blue channel.
alpha Alpha channel (currently it is not possible to have tarnsparent objects).
Get
                        Color / Alpha
Get the color  / alpha value from the first selected bezier surface.
Set Color / Alpha Set the color / alpha value to all selected bezier surfaces.

Material:
Gloss
Gloss value.
Mirror
Mirroring coefficient.
Get
                        Material Get the material values from the first selected mesh.
Set
                        Material Set the material values to all selected meshes.
Remove Material Remove the material information from all selected meshes.

Melting Radius:
Melting Radius
Radius defining a max. distance between two needles/points to be "melted" into one needle/point.
Melt All clusters of selected needles/points which have at most the given distance to each other will be removed and replaced by one single needle/point representing the whole cluster. After that multiple meshes could share the same points/needles.

Interpolation Radius and Function:
Melting Radius
Radius defining how many points/needles around a translated point/needle will be affected by that movement.
Notice: Currently there is no "measuring stick" included, but as a hint you can used the radius of the little spheres representing points and the heads of needles which is 0.05.
Linear Mode If the linear mode is turned on, a linear function will be used to define the movement of neighboring points within the radius (this is the default)
Quadratic Mode If the quadratic mode is turned on, a quadratic function will be used to define the movement of neighboring points within the radius
Sigmoidal Mode If the sigmoidal mode is turned on, a sigmoidal function will be used to define the movement of neighboring points within the radius
Constant offset Mode If the constant offset mode is turned on, all points within the radius will be moved in the same way

Individual Texture:
Get texture file Get the associated texture file from the first selected mesh.
Choose texture file Opens a file-dialog to choose an image file which should be used as a texture.
Set
                        Material Set the choosen texture to all selected meshes.
Remove Material Remove the texture from all selected meshes.
Save texture file Save texture file of the selected mesh.

Brushes:
Choose one of the brush shapes. Keep the space key pressed while moving the mouse on a mesh surface to paint on the texture of that mesh with the defined color (see above) and the defined opacity (see below). Press the "," (comma) key on a surface to get the color of the texture at that point ("Pipette").

Opacity:
Defines the opacity for painting on textures (see above).


License

Copyright (c) 2012, Patrick Rammelt
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.