Code Documentation
ViewerForm Class
Visualisierung2Visualisierung2ViewerForm
Staircase-Aware Smoothing of Medical Surface Meshes
This is the main class of the viewer application.
Declaration Syntax
C#Visual BasicVisual C++
public class ViewerForm : Form
Public Class ViewerForm _
	Inherits Form
public ref class ViewerForm : public Form
Members
All MembersMethodsProperties



IconMemberDescription
AfterTreeViewChange(Object, TreeViewEventArgs)
Event handler used to update the list of views if the TreeView node checkboxes changed.

AllTreeViewNodes
Gets a list of all nodes present in the TreeView without the hierarchical structure.

BeforeTreeViewCollapse(Object, TreeViewCancelEventArgs)
Event handler used to prevent the TreeView from being collapsed.

BeforeTreeViewSelect(Object, TreeViewCancelEventArgs)
Event handler used to prevent node selection in the TreeView.

CreateVBO(String, array<Single>[]()[][])
Creates a vertex buffer object holding the provided attribute data.

CreateViewList()()()()
Creates a list of all currently visible views according to the TreeView node checkboxes and sets up the SplitObjectEffect such that the correct attributes are provided for each view.

Dispose(Boolean)
Verwendete Ressourcen bereinigen.
(Overrides Form.Dispose(Boolean).)
ExportNonuniformMesh(Object, EventArgs)
Exports the staircase-aware smoothed mesh to a Wavefront Object file.

ExportUniformMesh(Object, EventArgs)
Exports the uniformly smoothed mesh to a Wavefront Object file.

InitializeComponent()()()()
Erforderliche Methode für die Designerunterstützung. Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.

LoadContext()()()()
Setup the window, the OpenGL context, the display effects and scene objects such as the light source and camera.

LoadFile(Object, EventArgs)
Event handler used to load the selected Wavefront Object file from the file system and (re)set all necessary application values to the default value.

MouseMoveHandler(Object, MouseEventArgs)
Event handler used to provide camera panning functionality with the right mouse button.

MouseWheelHandler(Object, MouseEventArgs)
Event handler used to provide camera zooming functionality with the mouse wheel.

OnDistanceThresholdChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnFormClosing(Object, FormClosingEventArgs)
Event handler used to properly dispose used OpenGL resources.

OnLaplaceSmoothingWeightChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnLoadControl(Object, EventArgs)
Event handler used to initialize the OpenGL context once the Windows Form is loaded.

OnMinimumWeightChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnMouseEnter(Object, EventArgs)
Event handler used to set focus to the OpenGL drawing area when the mouse enters it in order to avoid unintended value changes when using the mouse wheel.

OnNumberOfIterationsChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnOrientationThresholdChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnResizeControl(Object, EventArgs)
Event handler used to resize the OpenGL context and required textures if the whole window is resized.

OnStackOrientationDropdownChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnStackOrientationXChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnStackOrientationYChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

OnStackOrientationZChanged(Object, EventArgs)
Event handler used to inform the different views about the change of potentially required data.

RemoveUpdateRequirement(UpdateRequirementEnumeration)
Informs all active and inactive views that potentially required data has been updated such that it does not have to be recomputed until the input parameters change.

RenderFrame()()()()
Renders the object and the screen effects.

SetNonuniformModelGenericAttribute(String)
Uploads the provided per-vertex attribute into a Vertex Buffer Object and binds it as a generic attribute in the shader of the staircase-aware smoothed model.

SetOriginalModelGenericAttribute(String)
Uploads the provided per-vertex attribute into a Vertex Buffer Object and binds it as a generic attribute in the shader of the original model.

SetUniformModelGenericAttribute(String)
Uploads the provided per-vertex attribute into a Vertex Buffer Object and binds it as a generic attribute in the shader of the uniformly smoothed model.

StackOrientationChanged()()()()
Informs the different views about the change of potentially required data dependent on the stack orientation.

UpdateDistancesToArtifacts()()()()
(Re)calculates the per-vertex topological distance to the closest artifact vertex based on the last calculated vertex orientations.

UpdateFrame()()()()
Updates the scene objects and provides key handling for navigation.

UpdateMaximumLocalDistance()()()()
Calculates a scale-invariant measure for the normalization of computed distances.

UpdateNonuniformDistances()()()()
Calculates the per-vertex local distances of the staircase-aware smoothed mesh to the original mesh.

UpdateNonuniformSmoothing()()()()
Applies the staircase-aware smoothing to the nonuniform mesh using the previously calculated per-vertex smoothing weights.

UpdateNonuniformSmoothness()()()()
Calculates the per-vertex roughness based on the mean curvature for surface smoothness estimation.

UpdateOrientations()()()()
Calculates the face orientations relative to the stack orientations and from that the per-vertex orientation changes.

UpdateRequiredData(Boolean)
Calls all update functions necessary to have the correct data for all active views, but not for invisible ones such that no redundant data is calculated.

UpdateSmoothingWeights()()()()
Calculates the per-vertex staircase-aware smoothing weights according to the previously calculated per-vertex topological distance to the closest artifact vertex.

UpdateStackOrientation()()()()
Sets the new stack orientation specified through user interface controls.

UpdateUniformDistances()()()()
Calculates the per-vertex local distances of the uniformly smoothed mesh to the original mesh.

UpdateUniformSmoothing()()()()
Applies the uniform Laplacian smoothing to the uniform mesh.

UpdateUniformSmoothness()()()()
Calculates the per-vertex roughness based on the mean curvature for surface smoothness estimation.

Inheritance Hierarchy
Object
MarshalByRefObject
 Component
  Control
   ScrollableControl
    ContainerControl
     Form
      ViewerForm

Assembly: Visualisierung2 (Module: Visualisierung2) Version: 1.0.0.0 (1.0.0.0)