diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/AligmentTopComponent.form b/GUI/src/main/java/cz/fidentis/analyst/gui/AligmentTopComponent.form
deleted file mode 100644
index 26b2d319402c31ac7adb429d1757762b4598900a..0000000000000000000000000000000000000000
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/AligmentTopComponent.form
+++ /dev/null
@@ -1,236 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
-
-<Form version="1.4" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <Properties>
-    <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-      <Dimension value="[1200, 500]"/>
-    </Property>
-    <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-      <Dimension value="[1250, 600]"/>
-    </Property>
-  </Properties>
-  <AuxValues>
-    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
-    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout>
-    <DimensionLayout dim="0">
-      <Group type="103" groupAlignment="0" attributes="0">
-          <Group type="102" alignment="1" attributes="0">
-              <EmptySpace max="-2" attributes="0"/>
-              <Component id="jSplitPane1" max="-2" attributes="0"/>
-              <EmptySpace type="unrelated" max="-2" attributes="0"/>
-              <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
-              <EmptySpace max="-2" attributes="0"/>
-          </Group>
-      </Group>
-    </DimensionLayout>
-    <DimensionLayout dim="1">
-      <Group type="103" groupAlignment="0" attributes="0">
-          <Group type="102" attributes="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="jPanel1" pref="576" max="32767" attributes="0"/>
-                  </Group>
-                  <Component id="jSplitPane1" alignment="0" pref="589" max="32767" attributes="0"/>
-              </Group>
-              <EmptySpace max="-2" attributes="0"/>
-          </Group>
-      </Group>
-    </DimensionLayout>
-  </Layout>
-  <SubComponents>
-    <Container class="javax.swing.JPanel" name="jPanel1">
-      <Properties>
-        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-          <Dimension value="[100, 500]"/>
-        </Property>
-        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-          <Dimension value="[200, 600]"/>
-        </Property>
-      </Properties>
-
-      <Layout>
-        <DimensionLayout dim="0">
-          <Group type="103" groupAlignment="0" attributes="0">
-              <Group type="102" attributes="0">
-                  <Group type="103" groupAlignment="0" attributes="0">
-                      <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
-                      <Component id="jButton1" min="-2" max="-2" attributes="0"/>
-                      <Component id="primaryColorPanel" min="-2" max="-2" attributes="0"/>
-                      <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
-                      <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
-                      <Component id="secondaryColorPanel" min="-2" max="-2" attributes="0"/>
-                  </Group>
-                  <EmptySpace min="0" pref="88" max="32767" attributes="0"/>
-              </Group>
-          </Group>
-        </DimensionLayout>
-        <DimensionLayout dim="1">
-          <Group type="103" groupAlignment="0" attributes="0">
-              <Group type="102" alignment="0" attributes="0">
-                  <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace max="-2" attributes="0"/>
-                  <Component id="jButton1" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                  <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
-                  <Component id="primaryColorPanel" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace max="-2" attributes="0"/>
-                  <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                  <Component id="secondaryColorPanel" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-              </Group>
-          </Group>
-        </DimensionLayout>
-      </Layout>
-      <SubComponents>
-        <Component class="javax.swing.JLabel" name="jLabel1">
-          <Properties>
-            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-              <ResourceString bundle="cz/fidentis/analyst/gui/Bundle.properties" key="AligmentTopComponent.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-            </Property>
-          </Properties>
-        </Component>
-        <Component class="javax.swing.JButton" name="jButton1">
-          <Properties>
-            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-              <ResourceString bundle="cz/fidentis/analyst/gui/Bundle.properties" key="AligmentTopComponent.jButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-            </Property>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
-          </Events>
-        </Component>
-        <Container class="javax.swing.JPanel" name="primaryColorPanel">
-          <Properties>
-            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[100, 40]"/>
-            </Property>
-          </Properties>
-          <Events>
-            <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="primaryColorPanelMouseClicked"/>
-          </Events>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="100" max="32767" attributes="0"/>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="40" max="32767" attributes="0"/>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-        </Container>
-        <Component class="javax.swing.JLabel" name="jLabel2">
-          <Properties>
-            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-              <ResourceString bundle="cz/fidentis/analyst/gui/Bundle.properties" key="AligmentTopComponent.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-            </Property>
-          </Properties>
-        </Component>
-        <Component class="javax.swing.JLabel" name="jLabel3">
-          <Properties>
-            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-              <ResourceString bundle="cz/fidentis/analyst/gui/Bundle.properties" key="AligmentTopComponent.jLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-            </Property>
-          </Properties>
-        </Component>
-        <Container class="javax.swing.JPanel" name="secondaryColorPanel">
-          <Properties>
-            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[100, 40]"/>
-            </Property>
-          </Properties>
-          <Events>
-            <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="secondaryColorPanelMouseClicked"/>
-          </Events>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="100" max="32767" attributes="0"/>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="40" max="32767" attributes="0"/>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-        </Container>
-      </SubComponents>
-    </Container>
-    <Container class="javax.swing.JSplitPane" name="jSplitPane1">
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
-      <SubComponents>
-        <Component class="cz.fidentis.analyst.gui.Canvas" name="canvas1">
-          <Properties>
-            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[300, 0]"/>
-            </Property>
-            <Property name="name" type="java.lang.String" value="" noResource="true"/>
-            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[500, 0]"/>
-            </Property>
-          </Properties>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
-              <JSplitPaneConstraints position="left"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-        <Component class="cz.fidentis.analyst.gui.Canvas" name="canvas2">
-          <Properties>
-            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[300, 0]"/>
-            </Property>
-            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[500, 0]"/>
-            </Property>
-          </Properties>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
-              <JSplitPaneConstraints position="right"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-      </SubComponents>
-    </Container>
-  </SubComponents>
-</Form>
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/AligmentTopComponent.java b/GUI/src/main/java/cz/fidentis/analyst/gui/AligmentTopComponent.java
deleted file mode 100644
index 28fa08027dd9ec63c3d90ee4d71d71a5a5dfa046..0000000000000000000000000000000000000000
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/AligmentTopComponent.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package cz.fidentis.analyst.gui;
-
-import java.awt.Color;
-import javax.swing.JColorChooser;
-import org.netbeans.api.settings.ConvertAsProperties;
-import org.openide.awt.ActionID;
-import org.openide.awt.ActionReference;
-import org.openide.windows.TopComponent;
-import org.openide.util.NbBundle.Messages;
-
-/**
- *
- * @author Richard Pajerský
- * 
- * Window for Registration
- */
-@ConvertAsProperties(
-        dtd = "-//cz.fidentis.analyst.gui//Aligment//EN",
-        autostore = false
-)
-@TopComponent.Description(
-        preferredID = "AligmentTopComponent",
-        //iconBase="SET/PATH/TO/ICON/HERE",
-        persistenceType = TopComponent.PERSISTENCE_ALWAYS
-)
-@TopComponent.Registration(mode = "editor", openAtStartup = false)
-@ActionID(category = "Window", id = "cz.fidentis.analyst.gui.AligmentTopComponent")
-@ActionReference(path = "Menu/Window" /*, position = 333 */)
-@TopComponent.OpenActionRegistration(
-        displayName = "#CTL_AligmentAction",
-        preferredID = "AligmentTopComponent"
-)
-@Messages({
-    "CTL_AligmentAction=Registration",
-    "CTL_AligmentTopComponent=Registration",
-    "HINT_AligmentTopComponent=This is a Registration window"
-})
-public final class AligmentTopComponent extends TopComponent {
-
-    private RegistrationGLEventListener regListener;
-    
-    public AligmentTopComponent() {
-        initComponents();
-        setName(Bundle.CTL_AligmentTopComponent());
-        setToolTipText(Bundle.HINT_AligmentTopComponent());
-        regListener = new RegistrationGLEventListener(canvas1, canvas2);
-        canvas1.setListener(regListener);
-        Manipulator3D manipulator = new Manipulator3D(regListener);
-        canvas1.setManipulator(manipulator);
-        primaryColorPanel.setBackground(regListener.getPrimaryColor());
-        secondaryColorPanel.setBackground(regListener.getSecondaryColor());
-    }
-
-    /**
-     * This method is called from within the constructor to initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is always
-     * regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
-    private void initComponents() {
-
-        jPanel1 = new javax.swing.JPanel();
-        jLabel1 = new javax.swing.JLabel();
-        jButton1 = new javax.swing.JButton();
-        primaryColorPanel = new javax.swing.JPanel();
-        jLabel2 = new javax.swing.JLabel();
-        jLabel3 = new javax.swing.JLabel();
-        secondaryColorPanel = new javax.swing.JPanel();
-        jSplitPane1 = new javax.swing.JSplitPane();
-        canvas1 = new cz.fidentis.analyst.gui.Canvas();
-        canvas2 = new cz.fidentis.analyst.gui.Canvas();
-
-        setMinimumSize(new java.awt.Dimension(1200, 500));
-        setPreferredSize(new java.awt.Dimension(1250, 600));
-
-        jPanel1.setMinimumSize(new java.awt.Dimension(100, 500));
-        jPanel1.setPreferredSize(new java.awt.Dimension(200, 600));
-
-        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(AligmentTopComponent.class, "AligmentTopComponent.jLabel1.text")); // NOI18N
-
-        org.openide.awt.Mnemonics.setLocalizedText(jButton1, org.openide.util.NbBundle.getMessage(AligmentTopComponent.class, "AligmentTopComponent.jButton1.text")); // NOI18N
-        jButton1.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton1ActionPerformed(evt);
-            }
-        });
-
-        primaryColorPanel.setPreferredSize(new java.awt.Dimension(100, 40));
-        primaryColorPanel.addMouseListener(new java.awt.event.MouseAdapter() {
-            public void mouseClicked(java.awt.event.MouseEvent evt) {
-                primaryColorPanelMouseClicked(evt);
-            }
-        });
-
-        javax.swing.GroupLayout primaryColorPanelLayout = new javax.swing.GroupLayout(primaryColorPanel);
-        primaryColorPanel.setLayout(primaryColorPanelLayout);
-        primaryColorPanelLayout.setHorizontalGroup(
-            primaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 100, Short.MAX_VALUE)
-        );
-        primaryColorPanelLayout.setVerticalGroup(
-            primaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 40, Short.MAX_VALUE)
-        );
-
-        org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(AligmentTopComponent.class, "AligmentTopComponent.jLabel2.text")); // NOI18N
-
-        org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(AligmentTopComponent.class, "AligmentTopComponent.jLabel3.text")); // NOI18N
-
-        secondaryColorPanel.setPreferredSize(new java.awt.Dimension(100, 40));
-        secondaryColorPanel.addMouseListener(new java.awt.event.MouseAdapter() {
-            public void mouseClicked(java.awt.event.MouseEvent evt) {
-                secondaryColorPanelMouseClicked(evt);
-            }
-        });
-
-        javax.swing.GroupLayout secondaryColorPanelLayout = new javax.swing.GroupLayout(secondaryColorPanel);
-        secondaryColorPanel.setLayout(secondaryColorPanelLayout);
-        secondaryColorPanelLayout.setHorizontalGroup(
-            secondaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 100, Short.MAX_VALUE)
-        );
-        secondaryColorPanelLayout.setVerticalGroup(
-            secondaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 40, Short.MAX_VALUE)
-        );
-
-        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
-        jPanel1.setLayout(jPanel1Layout);
-        jPanel1Layout.setHorizontalGroup(
-            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel1Layout.createSequentialGroup()
-                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jLabel1)
-                    .addComponent(jButton1)
-                    .addComponent(primaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jLabel2)
-                    .addComponent(jLabel3)
-                    .addComponent(secondaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(0, 100, Short.MAX_VALUE))
-        );
-        jPanel1Layout.setVerticalGroup(
-            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel1Layout.createSequentialGroup()
-                .addComponent(jLabel1)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jButton1)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                .addComponent(jLabel2)
-                .addGap(5, 5, 5)
-                .addComponent(primaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jLabel3)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                .addComponent(secondaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addGap(0, 0, Short.MAX_VALUE))
-        );
-
-        canvas1.setMinimumSize(new java.awt.Dimension(300, 0));
-        canvas1.setName(""); // NOI18N
-        canvas1.setPreferredSize(new java.awt.Dimension(500, 0));
-        jSplitPane1.setLeftComponent(canvas1);
-
-        canvas2.setMinimumSize(new java.awt.Dimension(300, 0));
-        canvas2.setPreferredSize(new java.awt.Dimension(500, 0));
-        jSplitPane1.setRightComponent(canvas2);
-
-        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
-        this.setLayout(layout);
-        layout.setHorizontalGroup(
-            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap())
-        );
-        layout.setVerticalGroup(
-            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(layout.createSequentialGroup()
-                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(layout.createSequentialGroup()
-                        .addContainerGap()
-                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 578, Short.MAX_VALUE))
-                    .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 589, Short.MAX_VALUE))
-                .addContainerGap())
-        );
-    }// </editor-fold>//GEN-END:initComponents
-
-    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
-        canvas1.changeModel(canvas2.getLoadedFace().getMeshModel());
-    }//GEN-LAST:event_jButton1ActionPerformed
-
-    private void primaryColorPanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_primaryColorPanelMouseClicked
-        Color current = primaryColorPanel.getBackground();
-        Color newColor = JColorChooser.showDialog(null, "Choose a color", current);
-        primaryColorPanel.setBackground(newColor);
-        regListener.setPrimaryColor(newColor);
-    }//GEN-LAST:event_primaryColorPanelMouseClicked
-
-    private void secondaryColorPanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_secondaryColorPanelMouseClicked
-        Color current = secondaryColorPanel.getBackground();
-        Color newColor = JColorChooser.showDialog(null, "Choose a color", current);
-        secondaryColorPanel.setBackground(newColor);
-        regListener.setSecondaryColor(newColor);
-    }//GEN-LAST:event_secondaryColorPanelMouseClicked
-
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    private cz.fidentis.analyst.gui.Canvas canvas1;
-    private cz.fidentis.analyst.gui.Canvas canvas2;
-    private javax.swing.JButton jButton1;
-    private javax.swing.JLabel jLabel1;
-    private javax.swing.JLabel jLabel2;
-    private javax.swing.JLabel jLabel3;
-    private javax.swing.JPanel jPanel1;
-    private javax.swing.JSplitPane jSplitPane1;
-    private javax.swing.JPanel primaryColorPanel;
-    private javax.swing.JPanel secondaryColorPanel;
-    // End of variables declaration//GEN-END:variables
-    @Override
-    public void componentOpened() {
-        // TODO add custom code on component opening
-    }
-
-    @Override
-    public void componentClosed() {
-        // TODO add custom code on component closing
-    }
-
-    void writeProperties(java.util.Properties p) {
-        // better to version settings since initial version as advocated at
-        // http://wiki.apidesign.org/wiki/PropertyFiles
-        p.setProperty("version", "1.0");
-        // TODO store your settings
-    }
-
-    void readProperties(java.util.Properties p) {
-        String version = p.getProperty("version");
-        // TODO read your settings according to their version
-    }
-}
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java
new file mode 100644
index 0000000000000000000000000000000000000000..d89022d8be0370a9dbdd7eafe85962a082a2f6df
--- /dev/null
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java
@@ -0,0 +1,185 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package cz.fidentis.analyst.gui;
+
+import cz.fidentis.analyst.gui.canvas.Canvas;
+import cz.fidentis.analyst.gui.scene.DrawableMesh;
+import cz.fidentis.analyst.visitors.mesh.BoundingBox;
+import java.awt.Color;
+import java.util.ArrayList;
+import javax.vecmath.Point3d;
+import javax.vecmath.Vector3d;
+
+/**
+ * Executes changes made in PostRegistrationCP
+ * 
+ * @author Richard Pajersky
+ */
+public class RegistrationCPEventListener {
+    
+    private final Canvas canvas;
+    private final Color defaultPrimaryColor = new Color(51, 51, 153);
+    private final Color defaultSecondaryColor = new Color(255, 239, 0);
+    private final int transparencyRange = 10;
+    private final double changeAmount = 500d;
+    private final double moveX;
+    private final double moveY;
+    private final double moveZ;
+    private final double scaleXYZ;
+    
+    private DrawableMesh primaryFace;
+    private DrawableMesh secondaryFace;
+    
+    public RegistrationCPEventListener(Canvas canvas) {
+        this.canvas = canvas;
+        
+        ArrayList<DrawableMesh> drawables = new ArrayList<>(canvas.getScene().getDrawables());
+        primaryFace = drawables.get(0);
+        secondaryFace = drawables.get(1);
+        setDeafultColor();
+        
+        // set change amounts
+        BoundingBox visitor = new BoundingBox();
+        secondaryFace.getModel().compute(visitor);
+        Point3d maxPoint = visitor.getBoundingBox().getMaxPoint();
+        Point3d minPoint = visitor.getBoundingBox().getMinPoint();
+        moveX = (maxPoint.x - minPoint.x) / changeAmount;
+        moveY = (maxPoint.y - minPoint.y) / changeAmount;
+        moveZ = (maxPoint.z - minPoint.z) / changeAmount;
+        scaleXYZ = (visitor.getBoundingBox().getMaxDiag() / (10 * changeAmount));
+    }
+    
+    public final void setDeafultColor() {
+        primaryFace.setColor(defaultPrimaryColor);
+        secondaryFace.setColor(defaultSecondaryColor);
+    }
+    
+    public int getTransparencyRange() {
+        return transparencyRange;
+    }
+    
+    public void setPrimaryColor(Color color) {
+        primaryFace.setColor(color);
+        canvas.renderScene();
+    }
+
+    public void setSecondaryColor(Color color) {
+        secondaryFace.setColor(color);
+        canvas.renderScene();
+    }
+    
+    public Color getPrimaryColor() {
+        return primaryFace.getColor();
+    }
+
+    public Color getSecondaryColor() {
+        return secondaryFace.getColor();
+    }
+    
+    public void setTransparency(int value) {
+        
+        if (value == transparencyRange) {
+            setPrimaryTransparency(1d);
+            setSecondaryTransparency(1d);
+        }
+        if (value < transparencyRange) {
+            setPrimaryTransparency(value / 10d);
+            setSecondaryTransparency(1d);
+        }
+        if (value > transparencyRange) {
+            setSecondaryTransparency((2 * transparencyRange - value) / 10d);
+            setPrimaryTransparency(1d);
+        }
+        canvas.renderScene();
+    }
+    
+    public void setPrimaryTransparency(double transparency) {
+        primaryFace.setTransparency(transparency);
+    }
+
+    public void setSecondaryTransparency(double transparency) {
+        secondaryFace.setTransparency(transparency);
+    }
+    
+    public double getPrimaryTransparency() {
+        return primaryFace.getTransparency();
+    }
+
+    public double getSecondaryTransparency() {
+        return secondaryFace.getTransparency();
+    }
+    
+    public void setFrontFacing() {
+        canvas.getCamera().initLocation();
+        canvas.renderScene();
+    }
+    
+    public void setSideFacing() {
+        canvas.getCamera().initLocation();
+        canvas.getCamera().rotate(0, 90);
+        canvas.renderScene();
+    }
+    
+    public Color getDefaultPrimaryColor() {
+        return defaultPrimaryColor;
+    }
+
+    public Color getDefaultSecondaryColor() {
+        return defaultSecondaryColor;
+    }
+    
+    public void resetTranslation() {
+        secondaryFace.setTranslation(new Vector3d(0, 0, 0));
+        canvas.renderScene();
+    }
+    
+    public void resetRotation() {
+        secondaryFace.setRotation(new Vector3d(0, 0, 0));
+        canvas.renderScene();
+    }
+
+    public void resetScale() {
+        secondaryFace.setScale(new Vector3d(0, 0, 0));
+        canvas.renderScene();
+    }
+    
+    public void setXTranslation(double value) {
+        secondaryFace.getTranslation().x = value * moveX;
+        canvas.renderScene();
+    }
+    
+    public void setYTranslation(double value) {
+        secondaryFace.getTranslation().y = value * moveY;
+        canvas.renderScene();
+    }
+        
+    public void setZTranslation(double value) {
+        secondaryFace.getTranslation().z = value * moveZ;
+        canvas.renderScene();
+    }
+    
+    public void setXRotation(double value) {
+        secondaryFace.getRotation().x = value * moveX;
+        canvas.renderScene();
+    }
+    
+    public void setYRotation(double value) {
+        secondaryFace.getRotation().y = value * moveY;
+        canvas.renderScene();
+    }
+        
+    public void setZRotation(double value) {
+        secondaryFace.getRotation().z = value * moveZ;
+        canvas.renderScene();
+    }
+    
+    public void setScale(double value) {
+        secondaryFace.getScale().x = value * scaleXYZ;
+        secondaryFace.getScale().y = value * scaleXYZ;
+        secondaryFace.getScale().z = value * scaleXYZ;
+        canvas.renderScene();
+    }
+}
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.form b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.form
new file mode 100644
index 0000000000000000000000000000000000000000..aacf85556c0d9025093eace3a29d7d31ea369834
--- /dev/null
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.form
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+<Form version="1.4" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="1" attributes="0">
+              <EmptySpace pref="549" max="32767" attributes="0"/>
+              <Component id="postRegistrationCP1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+          <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <Component id="canvas1" min="-2" pref="543" max="-2" attributes="0"/>
+                  <EmptySpace min="0" pref="326" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="1" attributes="0">
+              <Component id="postRegistrationCP1" pref="533" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+          <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <Component id="canvas1" pref="533" max="32767" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="cz.fidentis.analyst.gui.tab.PostRegistrationCP" name="postRegistrationCP1">
+    </Component>
+    <Component class="cz.fidentis.analyst.gui.canvas.Canvas" name="canvas1">
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c67c689200d95a55aea2dfc3fbd0d87f511a976
--- /dev/null
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java
@@ -0,0 +1,139 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package cz.fidentis.analyst.gui;
+
+import cz.fidentis.analyst.face.HumanFace;
+import cz.fidentis.analyst.gui.tab.PostRegistrationCP;
+import cz.fidentis.analyst.mesh.io.ModelFileFilter;
+import java.awt.Dimension;
+import java.io.File;
+import java.io.IOException;
+import javax.swing.JFileChooser;
+import org.netbeans.api.settings.ConvertAsProperties;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.windows.TopComponent;
+import org.openide.util.NbBundle.Messages;
+
+/**
+ * Top component which displays something.
+ */
+@ConvertAsProperties(
+        dtd = "-//cz.fidentis.analyst.gui//RegistrationTest//EN",
+        autostore = false
+)
+@TopComponent.Description(
+        preferredID = "RegistrationTestTopComponent",
+        //iconBase="SET/PATH/TO/ICON/HERE",
+        persistenceType = TopComponent.PERSISTENCE_ALWAYS
+)
+@TopComponent.Registration(mode = "properties", openAtStartup = false)
+@ActionID(category = "Window", id = "cz.fidentis.analyst.gui.RegistrationTestTopComponent")
+@ActionReference(path = "Menu/Window" /*, position = 333 */)
+@TopComponent.OpenActionRegistration(
+        displayName = "#CTL_RegistrationTestAction",
+        preferredID = "RegistrationTestTopComponent"
+)
+@Messages({
+    "CTL_RegistrationTestAction=RegistrationTest",
+    "CTL_RegistrationTestTopComponent=RegistrationTest Window",
+    "HINT_RegistrationTestTopComponent=This is a RegistrationTest window"
+})
+public final class RegistrationTestTopComponent extends TopComponent {
+
+    public RegistrationTestTopComponent() {
+        initComponents();
+        setName(Bundle.CTL_RegistrationTestTopComponent());
+        setToolTipText(Bundle.HINT_RegistrationTestTopComponent());
+        
+        HumanFace primary = null;
+        HumanFace secondary = null;
+        // choose models
+        String[] extensions = new String[2];
+        extensions[0] = "obj";
+        extensions[1] = "OBJ";
+        ModelFileFilter filter = new ModelFileFilter(extensions, "*.obj");
+        
+        JFileChooser jFileChooser1 = new JFileChooser();
+        jFileChooser1.setPreferredSize(new Dimension (800,500));
+        jFileChooser1.addChoosableFileFilter(filter);
+        jFileChooser1.showOpenDialog(this);
+        jFileChooser1.setDialogTitle("Import obj file");
+        try {
+            primary = new HumanFace(jFileChooser1.getSelectedFile());
+        } catch (Exception ex) {}
+        jFileChooser1.showOpenDialog(this);
+        jFileChooser1.setDialogTitle("Import obj file");
+        try {
+            secondary = new HumanFace(jFileChooser1.getSelectedFile());
+        } catch (Exception ex) {}
+        
+        canvas1.initScene(primary, secondary);
+        postRegistrationCP1.initPostRegistrationCP(new RegistrationCPEventListener(canvas1));
+    }
+
+    /**
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        postRegistrationCP1 = new cz.fidentis.analyst.gui.tab.PostRegistrationCP();
+        canvas1 = new cz.fidentis.analyst.gui.canvas.Canvas();
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap(549, Short.MAX_VALUE)
+                .addComponent(postRegistrationCP1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap())
+            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(layout.createSequentialGroup()
+                    .addComponent(canvas1, javax.swing.GroupLayout.PREFERRED_SIZE, 543, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addGap(0, 326, Short.MAX_VALUE)))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addComponent(postRegistrationCP1, javax.swing.GroupLayout.PREFERRED_SIZE, 533, Short.MAX_VALUE)
+                .addContainerGap())
+            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(layout.createSequentialGroup()
+                    .addComponent(canvas1, javax.swing.GroupLayout.DEFAULT_SIZE, 533, Short.MAX_VALUE)
+                    .addContainerGap()))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private cz.fidentis.analyst.gui.canvas.Canvas canvas1;
+    private cz.fidentis.analyst.gui.tab.PostRegistrationCP postRegistrationCP1;
+    // End of variables declaration//GEN-END:variables
+    @Override
+    public void componentOpened() {
+        // TODO add custom code on component opening
+    }
+
+    @Override
+    public void componentClosed() {
+        // TODO add custom code on component closing
+    }
+
+    void writeProperties(java.util.Properties p) {
+        // better to version settings since initial version as advocated at
+        // http://wiki.apidesign.org/wiki/PropertyFiles
+        p.setProperty("version", "1.0");
+        // TODO store your settings
+    }
+
+    void readProperties(java.util.Properties p) {
+        String version = p.getProperty("version");
+        // TODO read your settings according to their version
+    }
+}
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/Canvas.java b/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/Canvas.java
index 81ce86d712057ffc40470216b5f060beefeff859..6f3d31a1aadc57a49fcb0e576d8d13d74e67dbc3 100644
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/Canvas.java
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/Canvas.java
@@ -52,7 +52,8 @@ public class Canvas extends javax.swing.JPanel {
        
         sceneRenderer = new SceneRenderer();
         
-        animator = new RotationAnimator(this.glCanvas, this.camera);
+        //animator = new RotationAnimator(this.glCanvas, this.camera);
+        animator = new RotationAnimator(this.glCanvas);
         
         listener = new CanvasListener(this);
         glCanvas.addGLEventListener(listener);
@@ -353,62 +354,62 @@ public class Canvas extends javax.swing.JPanel {
     }//GEN-LAST:event_jLayeredPane1ComponentShown
 
     private void leftNavigationButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_leftNavigationButtonMousePressed
-        animator.startAnimation(RotationAnimator.Direction.ROTATE_LEFT);
+        animator.startAnimation(RotationAnimator.Direction.ROTATE_LEFT, this.camera);
         leftNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/leftButtonPressed.png")));
     }//GEN-LAST:event_leftNavigationButtonMousePressed
 
     private void upNavigationButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_upNavigationButtonMousePressed
-        animator.startAnimation(RotationAnimator.Direction.ROTATE_UP);
+        animator.startAnimation(RotationAnimator.Direction.ROTATE_UP, this.camera);
         upNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/upButtonPressed.png")));
     }//GEN-LAST:event_upNavigationButtonMousePressed
 
     private void downNavigationButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_downNavigationButtonMousePressed
-        animator.startAnimation(RotationAnimator.Direction.ROTATE_DOWN);
+        animator.startAnimation(RotationAnimator.Direction.ROTATE_DOWN, this.camera);
         downNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/downButtonPressed.png")));
     }//GEN-LAST:event_downNavigationButtonMousePressed
 
     private void plusNavigationButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_plusNavigationButtonMousePressed
-        animator.startAnimation(RotationAnimator.Direction.ZOOM_IN);
+        animator.startAnimation(RotationAnimator.Direction.ZOOM_IN, this.camera);
         plusNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/plusPressed.png")));
     }//GEN-LAST:event_plusNavigationButtonMousePressed
  
     private void minusNavigationButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_minusNavigationButtonMousePressed
-        animator.startAnimation(RotationAnimator.Direction.ZOOM_OUT);
+        animator.startAnimation(RotationAnimator.Direction.ZOOM_OUT, this.camera);
         minusNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/minusPressed.png")));
     }//GEN-LAST:event_minusNavigationButtonMousePressed
 
     private void leftNavigationButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_leftNavigationButtonMouseReleased
-        animator.stopAnimation();
+        animator.stopAnimation(this.camera);
         leftNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/leftButton.png")));
     }//GEN-LAST:event_leftNavigationButtonMouseReleased
 
     private void upNavigationButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_upNavigationButtonMouseReleased
-        animator.stopAnimation();
+        animator.stopAnimation(this.camera);
         upNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/upButton.png")));
     }//GEN-LAST:event_upNavigationButtonMouseReleased
 
     private void downNavigationButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_downNavigationButtonMouseReleased
-        animator.stopAnimation();
+        animator.stopAnimation(this.camera);
         downNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/downButton.png")));
     }//GEN-LAST:event_downNavigationButtonMouseReleased
 
     private void plusNavigationButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_plusNavigationButtonMouseReleased
-        animator.stopAnimation();
+        animator.stopAnimation(this.camera);
         plusNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/plus.png")));
     }//GEN-LAST:event_plusNavigationButtonMouseReleased
 
     private void minusNavigationButtonMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_minusNavigationButtonMouseReleased
-        animator.stopAnimation();
+        animator.stopAnimation(this.camera);
         minusNavigationButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/minus.png")));
     }//GEN-LAST:event_minusNavigationButtonMouseReleased
 
     private void rightNavigationButton1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_rightNavigationButton1MousePressed
-        animator.startAnimation(RotationAnimator.Direction.ROTATE_RIGHT);
+        animator.startAnimation(RotationAnimator.Direction.ROTATE_RIGHT, this.camera);
         rightNavigationButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/rightButtonPressed.png")));
     }//GEN-LAST:event_rightNavigationButton1MousePressed
 
     private void rightNavigationButton1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_rightNavigationButton1MouseReleased
-        animator.stopAnimation();
+        animator.stopAnimation(this.camera);
         rightNavigationButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/rightButton.png")));
     }//GEN-LAST:event_rightNavigationButton1MouseReleased
 
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/RotationAnimator.java b/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/RotationAnimator.java
index 59a26240dee7168ac92d46d54cf0f041695e29dd..a15b6412f2453c07ea187e08aee1e588979653a0 100644
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/RotationAnimator.java
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/canvas/RotationAnimator.java
@@ -28,7 +28,7 @@ public class RotationAnimator {
         NONE
     }
     
-    private final Camera camera;
+    //private final Camera camera;
         
     
     /**
@@ -57,14 +57,14 @@ public class RotationAnimator {
      * @param camera Camera
      * @throws IllegalArgumentException if some argument is missing
      */
-    public RotationAnimator(GLCanvas glCanvas, Camera camera) {
+    public RotationAnimator(GLCanvas glCanvas) {
         if (glCanvas == null) {
             throw new IllegalArgumentException("glCanvas is null");
         }
-        if (camera == null) {
-            throw new IllegalArgumentException("camera is null");
-        }
-        this.camera = camera;
+        //if (camera == null) {
+        //    throw new IllegalArgumentException("camera is null");
+        //}
+        //this.camera = camera;
         this.animator = new FPSAnimator(glCanvas, FPS, true);
     }
     
@@ -74,7 +74,7 @@ public class RotationAnimator {
      * @param dir Animation direction
      * @throws UnsupportedOperationException if there is unfinished animation
      */
-    public void startAnimation(Direction dir) {
+    public void startAnimation(Direction dir, Camera camera) {
         if (this.direction != Direction.NONE) {
             throw new UnsupportedOperationException(); // this should no happen
         }
@@ -117,7 +117,7 @@ public class RotationAnimator {
     /**
      * Stops the animation.
      */
-    public void stopAnimation() {
+    public void stopAnimation(Camera camera) {
         timer.cancel();
         if ((System.currentTimeMillis() - startClickTime) < 500) {
             switch (direction) {
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java
index 82ee9db24d6e7ef5225cf62368aee9d17f1b3c04..11c518ed5df19e0fee22fd461e2726a28afe85c3 100644
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java
@@ -2,7 +2,9 @@ package cz.fidentis.analyst.gui.scene;
 
 import cz.fidentis.analyst.mesh.core.MeshFacet;
 import cz.fidentis.analyst.mesh.core.MeshModel;
+import java.awt.Color;
 import java.util.List;
+import javax.vecmath.Vector3d;
 
 /**
  * A drawable triangular mesh, i.e., a mesh model with drawing information like 
@@ -18,6 +20,11 @@ public class DrawableMesh {
     private boolean display = true;
     
     // TO DO - R. Pajersky: add transformation attributes and methods
+    private Color color = new Color(255, 255, 255);
+    private double transparency = 1f;
+    private Vector3d translation = new Vector3d(0, 0, 0);
+    private Vector3d rotation = new Vector3d(0, 0, 0);
+    private Vector3d scale = new Vector3d(0, 0, 0);
     
     /**
      * Constructor. 
@@ -62,4 +69,48 @@ public class DrawableMesh {
     public boolean isShown() {
         return display;
     }
+    
+    public void setColor(Color color) {
+        this.color = color;
+    }
+
+    public Color getColor() {
+        return color;
+    }
+    
+    public double getTransparency() {
+        return transparency;
+    }
+
+    public void setTransparency(double transparency) {
+        this.transparency = transparency;
+    }
+    
+    public Vector3d getTranslation() {
+        return translation;
+    }
+
+    public void setTranslation(Vector3d translation) {
+        this.translation = translation;
+    }
+
+    public Vector3d getRotation() {
+        return rotation;
+    }
+
+    public void setRotation(Vector3d rotation) {
+        this.rotation = rotation;
+    }
+
+    public Vector3d getScale() {
+        return scale;
+    }
+
+    public void setScale(Vector3d scale) {
+        this.scale = scale;
+    }
+    
+    public MeshModel getModel() {
+        return this.model;
+    }
 }
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/Scene.java b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/Scene.java
index 0dd610263992e6b0a42292246d252ebf7b36dd41..60d425e1c15b8b670b247e88a4a248c5084184c4 100644
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/Scene.java
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/Scene.java
@@ -19,7 +19,7 @@ public class Scene {
     
     private final HumanFace secondaryFace ;
     
-    private final List<DrawableMesh> drawables=  new ArrayList<>();
+    private final List<DrawableMesh> drawables = new ArrayList<>();
     
     /**
      * Constructor for single face analysis.
@@ -66,4 +66,8 @@ public class Scene {
     public Collection<DrawableMesh> getDrawables() {
         return this.drawables;
     }
+    
+    /*public void setDrawables(Collection<DrawableMesh> drawables) {
+        this.drawables = this.drawables;
+    }*/
 }
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java
index cda999208c6311f269071aea9dc2b7304cb13c64..eeede157e4211f17e8e1a14bdf0d5ddcefdb871d 100644
--- a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java
@@ -8,6 +8,7 @@ import static com.jogamp.opengl.GL2GL3.GL_FILL;
 import static com.jogamp.opengl.GL2GL3.GL_LINE;
 import com.jogamp.opengl.glu.GLU;
 import cz.fidentis.analyst.mesh.core.MeshFacet;
+import java.awt.Color;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -59,6 +60,11 @@ public class SceneRenderer {
 
         gl.glEnable(GL2.GL_NORMALIZE);
         gl.glDisable(GL2.GL_CULL_FACE);
+        
+        //color enabled
+        gl.glEnable(GL2.GL_COLOR_MATERIAL);
+        gl.glEnable(GL2.GL_BLEND);
+        gl.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA);
     }
     
     /**
@@ -128,12 +134,26 @@ public class SceneRenderer {
         }
         
         for (DrawableMesh obj: drawables) {
+            // render color
+            Color color = obj.getColor();
+            gl.glColor4d(color.getRed() / 255d, color.getGreen() / 255d, 
+                    color.getBlue() / 255d , obj.getTransparency());
+
             for (MeshFacet facet: obj.getFacets()) {
                 // TO DO - R. Pajersky: add transformation (glPushMatrix, glRotate, ...)
+                // rotate
+                gl.glPushMatrix();
+                gl.glRotated(obj.getRotation().x, 1, 0, 0);
+                gl.glRotated(obj.getRotation().y, 0, 1, 0);
+                gl.glRotated(obj.getRotation().z, 0, 0, 1);
+                // move
+                gl.glTranslated(obj.getTranslation().x, obj.getTranslation().y, obj.getTranslation().z);
+                // scale
+                gl.glScaled(1 + obj.getScale().x, 1 + obj.getScale().y, 1 + obj.getScale().z);
                 renderFacet(facet);
+                gl.glPopMatrix();
             }
         }
-        
          gl.glFlush();
     }
     
@@ -174,14 +194,14 @@ public class SceneRenderer {
         gl.glBegin(GL2.GL_TRIANGLES); //vertices are rendered as triangles
         
          // get the normal and tex coords indicies for face i  
-        for (int v = 0; v < facet.getCornerTable().getSize(); v++) { 
+        for (int v = 0; v < facet.getCornerTable().getSize(); v++) {            
             // render the normals
             Vector3d norm = facet.getVertices().get(facet.getCornerTable().getRow(v).getVertexIndex()).getNormal(); 
             if(norm != null) {
                 gl.glNormal3d(norm.x, norm.y, norm.z);
             }
             // render the vertices
-            Point3d vert = facet.getVertices().get(facet.getCornerTable().getRow(v).getVertexIndex()).getPosition(); 
+            Point3d vert = facet.getVertices().get(facet.getCornerTable().getRow(v).getVertexIndex()).getPosition();
             gl.glVertex3d(vert.x, vert.y, vert.z);
         }
         
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form
new file mode 100644
index 0000000000000000000000000000000000000000..3704d02c42fd8379f38021e1d4d90a6059089b9c
--- /dev/null
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form
@@ -0,0 +1,1244 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <Properties>
+    <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+      <Color blue="e2" green="e6" red="b0" type="rgb"/>
+    </Property>
+    <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+      <Dimension value="[405, 500]"/>
+    </Property>
+  </Properties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="1" max="-2" attributes="0">
+                          <Component id="jSeparator7" alignment="0" pref="385" max="32767" attributes="0"/>
+                          <Component id="applyButton" min="-2" pref="88" max="-2" attributes="0"/>
+                          <Component id="jSeparator4" alignment="0" max="32767" attributes="0"/>
+                          <Component id="jSeparator5" alignment="0" max="32767" attributes="0"/>
+                      </Group>
+                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                  </Group>
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="resetAllButton" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <EmptySpace min="-2" pref="82" max="-2" attributes="0"/>
+                                      <Component id="leftRotationXButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="leftSmallRotaXButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                                      <Component id="rightSmallRotaXButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="rightRotationXButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="leftRotationYButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="leftSmallRotaYButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                                      <Component id="rightSmallRotaYButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="rightRotationYButton" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                          <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
+                                          <Component id="rotationButton" min="-2" pref="59" max="-2" attributes="0"/>
+                                      </Group>
+                                      <EmptySpace min="23" pref="23" max="-2" attributes="0"/>
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Component id="rotationXFTF" min="-2" pref="97" max="-2" attributes="0"/>
+                                          <Component id="rotatXLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                      </Group>
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Group type="102" attributes="0">
+                                              <EmptySpace max="-2" attributes="0"/>
+                                              <Component id="rotationYFTF" max="32767" attributes="0"/>
+                                          </Group>
+                                          <Group type="102" alignment="0" attributes="0">
+                                              <EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
+                                              <Component id="rotatYLabel" min="-2" max="-2" attributes="0"/>
+                                              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                                          </Group>
+                                      </Group>
+                                  </Group>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                  <Group type="102" attributes="0">
+                                      <Component id="leftRotationZButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="leftSmallRotaZButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                                      <Component id="rightSmallRotaZButton" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="rightRotationZButton" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Component id="rotationZFTF" max="32767" attributes="0"/>
+                                  <Component id="rotatZLabel" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                          </Group>
+                          <Component id="jSeparator2" alignment="1" min="-2" pref="384" max="-2" attributes="0"/>
+                          <Component id="jSeparator3" alignment="0" max="32767" attributes="0"/>
+                          <Component id="jSeparator1" alignment="0" max="32767" attributes="0"/>
+                          <Component id="jSeparator6" alignment="0" max="32767" attributes="0"/>
+                          <Group type="102" alignment="1" attributes="0">
+                              <Component id="transparencyButton" min="-2" pref="64" max="-2" attributes="0"/>
+                              <EmptySpace type="separate" max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="transparencySlider" max="32767" attributes="0"/>
+                                  <Group type="102" attributes="0">
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Component id="primaryLabel" min="-2" max="-2" attributes="0"/>
+                                          <Component id="primaryColorPanel" min="-2" pref="120" max="-2" attributes="0"/>
+                                      </Group>
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Group type="102" attributes="0">
+                                              <EmptySpace min="-2" pref="64" max="-2" attributes="0"/>
+                                              <Component id="secondaryColorPanel" min="-2" pref="120" max="-2" attributes="0"/>
+                                              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                                          </Group>
+                                          <Group type="102" alignment="1" attributes="0">
+                                              <EmptySpace max="32767" attributes="0"/>
+                                              <Component id="secondaryLabel" min="-2" max="-2" attributes="0"/>
+                                          </Group>
+                                      </Group>
+                                  </Group>
+                              </Group>
+                          </Group>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Group type="103" groupAlignment="1" attributes="0">
+                                  <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                          <Component id="viewLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                          <Component id="jLabel2" alignment="0" max="32767" attributes="0"/>
+                                          <Component id="translationButton" alignment="0" max="32767" attributes="0"/>
+                                      </Group>
+                                      <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Group type="102" attributes="0">
+                                              <Component id="frontButton" min="-2" max="-2" attributes="0"/>
+                                              <EmptySpace type="separate" max="-2" attributes="0"/>
+                                              <Component id="profileButton" min="-2" max="-2" attributes="0"/>
+                                          </Group>
+                                          <Group type="102" alignment="0" attributes="0">
+                                              <Group type="103" groupAlignment="0" attributes="0">
+                                                  <Group type="103" alignment="0" groupAlignment="1" max="-2" attributes="0">
+                                                      <Component id="translationXFTF" alignment="0" max="32767" attributes="0"/>
+                                                      <Group type="102" alignment="0" attributes="0">
+                                                          <Component id="leftTranslationXButton" min="-2" max="-2" attributes="0"/>
+                                                          <EmptySpace max="-2" attributes="0"/>
+                                                          <Component id="leftSmallTranslXButton" min="-2" max="-2" attributes="0"/>
+                                                          <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                                                          <Component id="rightSmallTranslXButton" min="-2" max="-2" attributes="0"/>
+                                                          <EmptySpace max="-2" attributes="0"/>
+                                                          <Component id="rightTranslationXButton" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                  </Group>
+                                                  <Component id="translXLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                              </Group>
+                                              <EmptySpace max="-2" attributes="0"/>
+                                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                                  <Component id="translYLabel" min="-2" max="-2" attributes="0"/>
+                                                  <Group type="102" attributes="0">
+                                                      <Component id="leftTranslationYButton" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="leftSmallTranslYButton" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                                                      <Component id="rightSmallTranslYButton" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="rightTranslationYButton" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Component id="translationYFTF" alignment="0" max="32767" attributes="0"/>
+                                              </Group>
+                                              <EmptySpace max="-2" attributes="0"/>
+                                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                                  <Group type="102" attributes="0">
+                                                      <Component id="leftTranslationZButton" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="leftSmallTranslZButton" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                                                      <Component id="rightSmallTranslZButton" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="rightTranslationZButton" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Component id="translationZFTF" max="32767" attributes="0"/>
+                                                  <Component id="translZLabel" min="-2" max="-2" attributes="0"/>
+                                              </Group>
+                                          </Group>
+                                      </Group>
+                                  </Group>
+                                  <Component id="jLabel4" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Component id="scaleButton" min="-2" pref="59" max="-2" attributes="0"/>
+                                      <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
+                                      <Component id="scaleMinusButton" min="-2" pref="26" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="scaleSmallMinusButton" min="-2" pref="26" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="scaleSmallPlusButton" min="-2" pref="26" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="scalePlusButton" min="-2" pref="26" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="scaleFTF" min="-2" pref="72" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Component id="modelLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="colorButton" alignment="0" min="-2" pref="64" max="-2" attributes="0"/>
+                                  <Component id="featurePointsButton" alignment="0" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace max="32767" attributes="0"/>
+                          </Group>
+                      </Group>
+                      <EmptySpace max="32767" attributes="0"/>
+                  </Group>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="jSeparator6" min="-2" pref="5" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="secondaryLabel" alignment="1" min="-2" pref="14" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="primaryLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="modelLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace min="-2" pref="13" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                      <Component id="primaryColorPanel" pref="25" max="32767" attributes="0"/>
+                      <Component id="secondaryColorPanel" min="-2" pref="25" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="colorButton" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="transparencyButton" min="-2" max="-2" attributes="0"/>
+                  <Component id="transparencySlider" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSeparator2" min="-2" pref="11" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="frontButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="profileButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="viewLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="jSeparator1" min="-2" pref="10" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="translXLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="translYLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="translZLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="leftTranslationXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftSmallTranslXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightSmallTranslXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightTranslationXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftTranslationYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightTranslationYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightSmallTranslYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftSmallTranslYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftSmallTranslZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightSmallTranslZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftTranslationZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightTranslationZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="translationXFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="translationButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="translationYFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="translationZFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSeparator3" min="-2" pref="10" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rotatXLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rotatYLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rotatZLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace min="-2" pref="11" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="leftSmallRotaXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightSmallRotaXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftRotationXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightRotationXButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftRotationYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftSmallRotaYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightSmallRotaYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightRotationYButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftRotationZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="leftSmallRotaZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightSmallRotaZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rightRotationZButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="rotationXFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rotationYFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rotationButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="rotationZFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSeparator4" min="-2" pref="10" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jLabel4" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="scaleButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="scaleMinusButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="scaleSmallMinusButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="scaleSmallPlusButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="scalePlusButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="scaleFTF" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSeparator5" min="-2" pref="10" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="applyButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="resetAllButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSeparator7" min="-2" pref="10" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="featurePointsButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="primaryColorPanel">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
+            <LineBorder/>
+          </Border>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.primaryColorPanel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Hand Cursor"/>
+        </Property>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[72, 14]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="primaryColorPanelMouseClicked"/>
+      </Events>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="118" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+    <Container class="javax.swing.JPanel" name="secondaryColorPanel">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
+            <LineBorder/>
+          </Border>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.secondaryColorPanel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Hand Cursor"/>
+        </Property>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[70, 14]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="secondaryColorPanelMouseClicked"/>
+      </Events>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="118" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="23" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+    <Component class="javax.swing.JSlider" name="transparencySlider">
+      <Properties>
+        <Property name="maximum" type="int" value="20"/>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.transparencySlider.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="value" type="int" value="10"/>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Hand Cursor"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="transparencySliderStateChanged"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="secondaryLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.secondaryLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.secondaryLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="primaryLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.primaryLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="colorButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.colorButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.colorButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="horizontalAlignment" type="int" value="2"/>
+        <Property name="horizontalTextPosition" type="int" value="0"/>
+        <Property name="iconTextGap" type="int" value="0"/>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="colorButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="transparencyButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.transparencyButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.transparencyButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="horizontalAlignment" type="int" value="2"/>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="transparencyButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="modelLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.modelLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator2">
+    </Component>
+    <Component class="javax.swing.JLabel" name="viewLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.viewLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="frontButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.frontButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.frontButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="frontButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="profileButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.profileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.profileButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="profileButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="translationButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.translationButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.translationButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="translationButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftTranslationXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftTranslationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftTranslationXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightTranslationXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightTranslationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightTranslationXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="translationXFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.translationXFTF.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Text Cursor"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="translationXFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="translationYFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="translationYFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="translationZFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="translationZFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rotationButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rotationButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rotationButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rotationButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="scaleButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scaleButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scaleButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="scaleButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="applyButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.applyButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Hand Cursor"/>
+        </Property>
+        <Property name="enabled" type="boolean" value="false"/>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator1">
+    </Component>
+    <Component class="javax.swing.JButton" name="leftTranslationYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftTranslationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftTranslationYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftTranslationZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftTranslationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftTranslationZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightTranslationYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightTranslationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightTranslationYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightTranslationZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightTranslationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightTranslationZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="rotationXFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rotationXFTF.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="rotationXFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftRotationXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftRotationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftRotationXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightRotationXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightRotationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightRotationXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftRotationYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftRotationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftRotationYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftRotationZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftRotationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftRotationZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightRotationYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightRotationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightRotationYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightRotationZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightRotationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightRotationZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="rotationYFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="rotationYFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="rotationZFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="rotationZFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="scaleFTF">
+      <Properties>
+        <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor">
+          <Format subtype="0" type="0"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scaleFTF.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="scaleFTFPropertyChange"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="scaleMinusButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scaleMinusButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="scaleMinusButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="scalePlusButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scalePlusButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[13, 23]"/>
+        </Property>
+        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[13, 23]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[13, 23]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="scalePlusButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator3">
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator4">
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator5">
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator6">
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator7">
+    </Component>
+    <Component class="javax.swing.JToggleButton" name="featurePointsButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.featurePointsButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel2">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel3">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.jLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel4">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.jLabel4.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="resetAllButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.resetAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="resetAllButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftSmallTranslXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftSmallTranslXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftSmallTranslXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightSmallTranslXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightSmallTranslXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightSmallTranslXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="translXLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.translXLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightSmallTranslYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightSmallTranslYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightSmallTranslYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftSmallTranslYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftSmallTranslYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftSmallTranslYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftSmallTranslZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftSmallTranslZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftSmallTranslZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightSmallTranslZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightSmallTranslZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightSmallTranslZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="translYLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.translYLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftSmallRotaXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftSmallRotaXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftSmallRotaXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftSmallRotaYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftSmallRotaYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftSmallRotaYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="leftSmallRotaZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftSmallRotaZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="leftSmallRotaZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightSmallRotaXButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightSmallRotaXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightSmallRotaXButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightSmallRotaYButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightSmallRotaYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightSmallRotaYButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="rightSmallRotaZButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightSmallRotaZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rightSmallRotaZButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="translZLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.translZLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="rotatXLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rotatXLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="rotatYLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rotatYLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="rotatZLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rotatZLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="scaleSmallPlusButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scaleSmallPlusButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[13, 23]"/>
+        </Property>
+        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[13, 23]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[13, 23]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="scaleSmallPlusButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="scaleSmallMinusButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.scaleSmallMinusButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+          <Color id="Default Cursor"/>
+        </Property>
+        <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+          <Insets value="[2, 2, 2, 2]"/>
+        </Property>
+        <Property name="opaque" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="scaleSmallMinusButtonActionPerformed"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java
new file mode 100644
index 0000000000000000000000000000000000000000..3475f7612364d2a12ee97ae513282c5d6ba18b87
--- /dev/null
+++ b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java
@@ -0,0 +1,1195 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package cz.fidentis.analyst.gui.tab;
+
+import cz.fidentis.analyst.gui.RegistrationCPEventListener;
+import java.awt.Color;
+import javax.swing.JColorChooser;
+
+/**
+ *
+ * @author Richard Pajersky
+ */
+public class PostRegistrationCP extends javax.swing.JPanel {
+
+    private RegistrationCPEventListener listener;
+    
+    /**
+     * Creates new form PostRegistrationPanel
+     */
+    public PostRegistrationCP() {
+        initComponents();
+        this.listener = null;
+    }
+    
+    public void initPostRegistrationCP(RegistrationCPEventListener listener) {
+        initComponents();
+        this.listener = listener;
+        setDefaults();
+    }
+    
+    private void setDefaults() {
+        //transparencySlider.setMaximum(2 * listener.getTransparencyRange());
+        //transparencySlider.setValue(listener.getTransparencyRange());
+        primaryColorPanel.setBackground(listener.getDefaultPrimaryColor());
+        secondaryColorPanel.setBackground(listener.getDefaultSecondaryColor());
+        resetAllButtonActionPerformed(null);
+    }
+
+    /**
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        primaryColorPanel = new javax.swing.JPanel();
+        secondaryColorPanel = new javax.swing.JPanel();
+        transparencySlider = new javax.swing.JSlider();
+        secondaryLabel = new javax.swing.JLabel();
+        primaryLabel = new javax.swing.JLabel();
+        colorButton = new javax.swing.JButton();
+        transparencyButton = new javax.swing.JButton();
+        modelLabel = new javax.swing.JLabel();
+        jSeparator2 = new javax.swing.JSeparator();
+        viewLabel = new javax.swing.JLabel();
+        frontButton = new javax.swing.JButton();
+        profileButton = new javax.swing.JButton();
+        translationButton = new javax.swing.JButton();
+        leftTranslationXButton = new javax.swing.JButton();
+        rightTranslationXButton = new javax.swing.JButton();
+        translationXFTF = new javax.swing.JFormattedTextField();
+        translationYFTF = new javax.swing.JFormattedTextField();
+        translationZFTF = new javax.swing.JFormattedTextField();
+        rotationButton = new javax.swing.JButton();
+        scaleButton = new javax.swing.JButton();
+        applyButton = new javax.swing.JButton();
+        jSeparator1 = new javax.swing.JSeparator();
+        leftTranslationYButton = new javax.swing.JButton();
+        leftTranslationZButton = new javax.swing.JButton();
+        rightTranslationYButton = new javax.swing.JButton();
+        rightTranslationZButton = new javax.swing.JButton();
+        rotationXFTF = new javax.swing.JFormattedTextField();
+        leftRotationXButton = new javax.swing.JButton();
+        rightRotationXButton = new javax.swing.JButton();
+        leftRotationYButton = new javax.swing.JButton();
+        leftRotationZButton = new javax.swing.JButton();
+        rightRotationYButton = new javax.swing.JButton();
+        rightRotationZButton = new javax.swing.JButton();
+        rotationYFTF = new javax.swing.JFormattedTextField();
+        rotationZFTF = new javax.swing.JFormattedTextField();
+        scaleFTF = new javax.swing.JFormattedTextField();
+        scaleMinusButton = new javax.swing.JButton();
+        scalePlusButton = new javax.swing.JButton();
+        jSeparator3 = new javax.swing.JSeparator();
+        jSeparator4 = new javax.swing.JSeparator();
+        jSeparator5 = new javax.swing.JSeparator();
+        jLabel1 = new javax.swing.JLabel();
+        jSeparator6 = new javax.swing.JSeparator();
+        jSeparator7 = new javax.swing.JSeparator();
+        featurePointsButton = new javax.swing.JToggleButton();
+        jLabel2 = new javax.swing.JLabel();
+        jLabel3 = new javax.swing.JLabel();
+        jLabel4 = new javax.swing.JLabel();
+        resetAllButton = new javax.swing.JButton();
+        leftSmallTranslXButton = new javax.swing.JButton();
+        rightSmallTranslXButton = new javax.swing.JButton();
+        translXLabel = new javax.swing.JLabel();
+        rightSmallTranslYButton = new javax.swing.JButton();
+        leftSmallTranslYButton = new javax.swing.JButton();
+        leftSmallTranslZButton = new javax.swing.JButton();
+        rightSmallTranslZButton = new javax.swing.JButton();
+        translYLabel = new javax.swing.JLabel();
+        leftSmallRotaXButton = new javax.swing.JButton();
+        leftSmallRotaYButton = new javax.swing.JButton();
+        leftSmallRotaZButton = new javax.swing.JButton();
+        rightSmallRotaXButton = new javax.swing.JButton();
+        rightSmallRotaYButton = new javax.swing.JButton();
+        rightSmallRotaZButton = new javax.swing.JButton();
+        translZLabel = new javax.swing.JLabel();
+        rotatXLabel = new javax.swing.JLabel();
+        rotatYLabel = new javax.swing.JLabel();
+        rotatZLabel = new javax.swing.JLabel();
+        scaleSmallPlusButton = new javax.swing.JButton();
+        scaleSmallMinusButton = new javax.swing.JButton();
+
+        setBackground(new java.awt.Color(176, 230, 226));
+        setPreferredSize(new java.awt.Dimension(405, 500));
+
+        primaryColorPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
+        primaryColorPanel.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.primaryColorPanel.toolTipText")); // NOI18N
+        primaryColorPanel.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
+        primaryColorPanel.setPreferredSize(new java.awt.Dimension(72, 14));
+        primaryColorPanel.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                primaryColorPanelMouseClicked(evt);
+            }
+        });
+
+        javax.swing.GroupLayout primaryColorPanelLayout = new javax.swing.GroupLayout(primaryColorPanel);
+        primaryColorPanel.setLayout(primaryColorPanelLayout);
+        primaryColorPanelLayout.setHorizontalGroup(
+            primaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 118, Short.MAX_VALUE)
+        );
+        primaryColorPanelLayout.setVerticalGroup(
+            primaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 0, Short.MAX_VALUE)
+        );
+
+        secondaryColorPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
+        secondaryColorPanel.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.secondaryColorPanel.toolTipText")); // NOI18N
+        secondaryColorPanel.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
+        secondaryColorPanel.setPreferredSize(new java.awt.Dimension(70, 14));
+        secondaryColorPanel.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                secondaryColorPanelMouseClicked(evt);
+            }
+        });
+
+        javax.swing.GroupLayout secondaryColorPanelLayout = new javax.swing.GroupLayout(secondaryColorPanel);
+        secondaryColorPanel.setLayout(secondaryColorPanelLayout);
+        secondaryColorPanelLayout.setHorizontalGroup(
+            secondaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 118, Short.MAX_VALUE)
+        );
+        secondaryColorPanelLayout.setVerticalGroup(
+            secondaryColorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 23, Short.MAX_VALUE)
+        );
+
+        transparencySlider.setMaximum(20);
+        transparencySlider.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.transparencySlider.toolTipText")); // NOI18N
+        transparencySlider.setValue(10);
+        transparencySlider.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
+        transparencySlider.setOpaque(false);
+        transparencySlider.addChangeListener(new javax.swing.event.ChangeListener() {
+            public void stateChanged(javax.swing.event.ChangeEvent evt) {
+                transparencySliderStateChanged(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(secondaryLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.secondaryLabel.text")); // NOI18N
+        secondaryLabel.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.secondaryLabel.toolTipText")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(primaryLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.primaryLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(colorButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.colorButton.text")); // NOI18N
+        colorButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.colorButton.toolTipText")); // NOI18N
+        colorButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        colorButton.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
+        colorButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
+        colorButton.setIconTextGap(0);
+        colorButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        colorButton.setOpaque(false);
+        colorButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                colorButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(transparencyButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.transparencyButton.text")); // NOI18N
+        transparencyButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.transparencyButton.toolTipText")); // NOI18N
+        transparencyButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        transparencyButton.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
+        transparencyButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        transparencyButton.setOpaque(false);
+        transparencyButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                transparencyButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(modelLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.modelLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(viewLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.viewLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(frontButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.frontButton.text")); // NOI18N
+        frontButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.frontButton.toolTipText")); // NOI18N
+        frontButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        frontButton.setOpaque(false);
+        frontButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                frontButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(profileButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.profileButton.text")); // NOI18N
+        profileButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.profileButton.toolTipText")); // NOI18N
+        profileButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        profileButton.setOpaque(false);
+        profileButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                profileButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(translationButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translationButton.text")); // NOI18N
+        translationButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translationButton.toolTipText")); // NOI18N
+        translationButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        translationButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        translationButton.setOpaque(false);
+        translationButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                translationButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftTranslationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftTranslationXButton.text")); // NOI18N
+        leftTranslationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        leftTranslationXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftTranslationXButton.setOpaque(false);
+        leftTranslationXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftTranslationXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightTranslationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightTranslationXButton.text")); // NOI18N
+        rightTranslationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rightTranslationXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightTranslationXButton.setOpaque(false);
+        rightTranslationXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightTranslationXButtonActionPerformed(evt);
+            }
+        });
+
+        translationXFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        translationXFTF.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translationXFTF.toolTipText")); // NOI18N
+        translationXFTF.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
+        translationXFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                translationXFTFPropertyChange(evt);
+            }
+        });
+
+        translationYFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        translationYFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                translationYFTFPropertyChange(evt);
+            }
+        });
+
+        translationZFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        translationZFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                translationZFTFPropertyChange(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rotationButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rotationButton.text")); // NOI18N
+        rotationButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rotationButton.toolTipText")); // NOI18N
+        rotationButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rotationButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rotationButton.setOpaque(false);
+        rotationButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rotationButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(scaleButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scaleButton.text")); // NOI18N
+        scaleButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scaleButton.toolTipText")); // NOI18N
+        scaleButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        scaleButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        scaleButton.setOpaque(false);
+        scaleButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                scaleButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(applyButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.applyButton.text")); // NOI18N
+        applyButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
+        applyButton.setEnabled(false);
+        applyButton.setOpaque(false);
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftTranslationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftTranslationYButton.text")); // NOI18N
+        leftTranslationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        leftTranslationYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftTranslationYButton.setOpaque(false);
+        leftTranslationYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftTranslationYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftTranslationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftTranslationZButton.text")); // NOI18N
+        leftTranslationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        leftTranslationZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftTranslationZButton.setOpaque(false);
+        leftTranslationZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftTranslationZButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightTranslationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightTranslationYButton.text")); // NOI18N
+        rightTranslationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rightTranslationYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightTranslationYButton.setOpaque(false);
+        rightTranslationYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightTranslationYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightTranslationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightTranslationZButton.text")); // NOI18N
+        rightTranslationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rightTranslationZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightTranslationZButton.setOpaque(false);
+        rightTranslationZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightTranslationZButtonActionPerformed(evt);
+            }
+        });
+
+        rotationXFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        rotationXFTF.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rotationXFTF.toolTipText")); // NOI18N
+        rotationXFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                rotationXFTFPropertyChange(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftRotationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftRotationXButton.text")); // NOI18N
+        leftRotationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        leftRotationXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftRotationXButton.setOpaque(false);
+        leftRotationXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftRotationXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightRotationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightRotationXButton.text")); // NOI18N
+        rightRotationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rightRotationXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightRotationXButton.setOpaque(false);
+        rightRotationXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightRotationXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftRotationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftRotationYButton.text")); // NOI18N
+        leftRotationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        leftRotationYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftRotationYButton.setOpaque(false);
+        leftRotationYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftRotationYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftRotationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftRotationZButton.text")); // NOI18N
+        leftRotationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        leftRotationZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftRotationZButton.setOpaque(false);
+        leftRotationZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftRotationZButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightRotationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightRotationYButton.text")); // NOI18N
+        rightRotationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rightRotationYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightRotationYButton.setOpaque(false);
+        rightRotationYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightRotationYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightRotationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightRotationZButton.text")); // NOI18N
+        rightRotationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        rightRotationZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightRotationZButton.setOpaque(false);
+        rightRotationZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightRotationZButtonActionPerformed(evt);
+            }
+        });
+
+        rotationYFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        rotationYFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                rotationYFTFPropertyChange(evt);
+            }
+        });
+
+        rotationZFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        rotationZFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                rotationZFTFPropertyChange(evt);
+            }
+        });
+
+        scaleFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
+        scaleFTF.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scaleFTF.toolTipText")); // NOI18N
+        scaleFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                scaleFTFPropertyChange(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(scaleMinusButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scaleMinusButton.text")); // NOI18N
+        scaleMinusButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        scaleMinusButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        scaleMinusButton.setOpaque(false);
+        scaleMinusButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                scaleMinusButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(scalePlusButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scalePlusButton.text")); // NOI18N
+        scalePlusButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        scalePlusButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        scalePlusButton.setMaximumSize(new java.awt.Dimension(13, 23));
+        scalePlusButton.setMinimumSize(new java.awt.Dimension(13, 23));
+        scalePlusButton.setOpaque(false);
+        scalePlusButton.setPreferredSize(new java.awt.Dimension(13, 23));
+        scalePlusButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                scalePlusButtonActionPerformed(evt);
+            }
+        });
+
+        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jLabel1.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(featurePointsButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.featurePointsButton.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jLabel2.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jLabel3.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel4, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jLabel4.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(resetAllButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.resetAllButton.text")); // NOI18N
+        resetAllButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                resetAllButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftSmallTranslXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftSmallTranslXButton.text")); // NOI18N
+        leftSmallTranslXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftSmallTranslXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftSmallTranslXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightSmallTranslXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightSmallTranslXButton.text")); // NOI18N
+        rightSmallTranslXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightSmallTranslXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightSmallTranslXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(translXLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translXLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightSmallTranslYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightSmallTranslYButton.text")); // NOI18N
+        rightSmallTranslYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightSmallTranslYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightSmallTranslYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftSmallTranslYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftSmallTranslYButton.text")); // NOI18N
+        leftSmallTranslYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftSmallTranslYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftSmallTranslYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftSmallTranslZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftSmallTranslZButton.text")); // NOI18N
+        leftSmallTranslZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftSmallTranslZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftSmallTranslZButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightSmallTranslZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightSmallTranslZButton.text")); // NOI18N
+        rightSmallTranslZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightSmallTranslZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightSmallTranslZButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(translYLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translYLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftSmallRotaXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftSmallRotaXButton.text")); // NOI18N
+        leftSmallRotaXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftSmallRotaXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftSmallRotaXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftSmallRotaYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftSmallRotaYButton.text")); // NOI18N
+        leftSmallRotaYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftSmallRotaYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftSmallRotaYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(leftSmallRotaZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftSmallRotaZButton.text")); // NOI18N
+        leftSmallRotaZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        leftSmallRotaZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                leftSmallRotaZButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightSmallRotaXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightSmallRotaXButton.text")); // NOI18N
+        rightSmallRotaXButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightSmallRotaXButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightSmallRotaXButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightSmallRotaYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightSmallRotaYButton.text")); // NOI18N
+        rightSmallRotaYButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightSmallRotaYButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightSmallRotaYButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rightSmallRotaZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightSmallRotaZButton.text")); // NOI18N
+        rightSmallRotaZButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        rightSmallRotaZButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rightSmallRotaZButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(translZLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translZLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(rotatXLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rotatXLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(rotatYLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rotatYLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(rotatZLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rotatZLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(scaleSmallPlusButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scaleSmallPlusButton.text")); // NOI18N
+        scaleSmallPlusButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        scaleSmallPlusButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        scaleSmallPlusButton.setMaximumSize(new java.awt.Dimension(13, 23));
+        scaleSmallPlusButton.setMinimumSize(new java.awt.Dimension(13, 23));
+        scaleSmallPlusButton.setOpaque(false);
+        scaleSmallPlusButton.setPreferredSize(new java.awt.Dimension(13, 23));
+        scaleSmallPlusButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                scaleSmallPlusButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(scaleSmallMinusButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.scaleSmallMinusButton.text")); // NOI18N
+        scaleSmallMinusButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        scaleSmallMinusButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        scaleSmallMinusButton.setOpaque(false);
+        scaleSmallMinusButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                scaleSmallMinusButtonActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                            .addComponent(jSeparator7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE)
+                            .addComponent(applyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(jSeparator4, javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(jSeparator5, javax.swing.GroupLayout.Alignment.LEADING))
+                        .addGap(0, 0, Short.MAX_VALUE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(resetAllButton)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGap(82, 82, 82)
+                                        .addComponent(leftRotationXButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(leftSmallRotaXButton)
+                                        .addGap(1, 1, 1)
+                                        .addComponent(rightSmallRotaXButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(rightRotationXButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(leftRotationYButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(leftSmallRotaYButton)
+                                        .addGap(1, 1, 1)
+                                        .addComponent(rightSmallRotaYButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(rightRotationYButton))
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                            .addComponent(jLabel3)
+                                            .addComponent(rotationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                        .addGap(23, 23, 23)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(rotationXFTF, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                            .addComponent(rotatXLabel))
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(rotationYFTF))
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addGap(6, 6, 6)
+                                                .addComponent(rotatYLabel)
+                                                .addGap(0, 0, Short.MAX_VALUE)))))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addComponent(leftRotationZButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(leftSmallRotaZButton)
+                                        .addGap(1, 1, 1)
+                                        .addComponent(rightSmallRotaZButton)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(rightRotationZButton))
+                                    .addComponent(rotationZFTF)
+                                    .addComponent(rotatZLabel)))
+                            .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 384, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(jSeparator3)
+                            .addComponent(jSeparator1)
+                            .addComponent(jSeparator6)
+                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                                .addComponent(transparencyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(18, 18, 18)
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(transparencySlider, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(primaryLabel)
+                                            .addComponent(primaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addGap(64, 64, 64)
+                                                .addComponent(secondaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addGap(0, 0, Short.MAX_VALUE))
+                                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                                .addComponent(secondaryLabel))))))
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                            .addComponent(viewLabel)
+                                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                            .addComponent(translationButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                                        .addGap(23, 23, 23)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addComponent(frontButton)
+                                                .addGap(18, 18, 18)
+                                                .addComponent(profileButton))
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                                                        .addComponent(translationXFTF, javax.swing.GroupLayout.Alignment.LEADING)
+                                                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
+                                                            .addComponent(leftTranslationXButton)
+                                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                            .addComponent(leftSmallTranslXButton)
+                                                            .addGap(1, 1, 1)
+                                                            .addComponent(rightSmallTranslXButton)
+                                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                            .addComponent(rightTranslationXButton)))
+                                                    .addComponent(translXLabel))
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                    .addComponent(translYLabel)
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addComponent(leftTranslationYButton)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(leftSmallTranslYButton)
+                                                        .addGap(1, 1, 1)
+                                                        .addComponent(rightSmallTranslYButton)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(rightTranslationYButton))
+                                                    .addComponent(translationYFTF))
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addComponent(leftTranslationZButton)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(leftSmallTranslZButton)
+                                                        .addGap(1, 1, 1)
+                                                        .addComponent(rightSmallTranslZButton)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(rightTranslationZButton))
+                                                    .addComponent(translationZFTF)
+                                                    .addComponent(translZLabel)))))
+                                    .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
+                                        .addComponent(scaleButton, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addGap(23, 23, 23)
+                                        .addComponent(scaleMinusButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(scaleSmallMinusButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(scaleSmallPlusButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(scalePlusButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(scaleFTF, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                    .addComponent(modelLabel, javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(colorButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(featurePointsButton, javax.swing.GroupLayout.Alignment.LEADING))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jLabel1)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(secondaryLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(primaryLabel)
+                        .addComponent(modelLabel)))
+                .addGap(13, 13, 13)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addComponent(primaryColorPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 25, Short.MAX_VALUE)
+                        .addComponent(secondaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(colorButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(transparencyButton)
+                    .addComponent(transparencySlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 11, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(frontButton)
+                    .addComponent(profileButton)
+                    .addComponent(viewLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jLabel2)
+                    .addComponent(translXLabel)
+                    .addComponent(translYLabel)
+                    .addComponent(translZLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(leftTranslationXButton)
+                    .addComponent(leftSmallTranslXButton)
+                    .addComponent(rightSmallTranslXButton)
+                    .addComponent(rightTranslationXButton)
+                    .addComponent(leftTranslationYButton)
+                    .addComponent(rightTranslationYButton)
+                    .addComponent(rightSmallTranslYButton)
+                    .addComponent(leftSmallTranslYButton)
+                    .addComponent(leftSmallTranslZButton)
+                    .addComponent(rightSmallTranslZButton)
+                    .addComponent(leftTranslationZButton)
+                    .addComponent(rightTranslationZButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(translationXFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(translationButton)
+                    .addComponent(translationYFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(translationZFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jLabel3)
+                    .addComponent(rotatXLabel)
+                    .addComponent(rotatYLabel)
+                    .addComponent(rotatZLabel))
+                .addGap(11, 11, 11)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(leftSmallRotaXButton)
+                    .addComponent(rightSmallRotaXButton)
+                    .addComponent(leftRotationXButton)
+                    .addComponent(rightRotationXButton)
+                    .addComponent(leftRotationYButton)
+                    .addComponent(leftSmallRotaYButton)
+                    .addComponent(rightSmallRotaYButton)
+                    .addComponent(rightRotationYButton)
+                    .addComponent(leftRotationZButton)
+                    .addComponent(leftSmallRotaZButton)
+                    .addComponent(rightSmallRotaZButton)
+                    .addComponent(rightRotationZButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(rotationXFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(rotationYFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(rotationButton)
+                    .addComponent(rotationZFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jLabel4)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(scaleButton)
+                    .addComponent(scaleMinusButton)
+                    .addComponent(scaleSmallMinusButton)
+                    .addComponent(scaleSmallPlusButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(scalePlusButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(scaleFTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(applyButton)
+                    .addComponent(resetAllButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(featurePointsButton)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void primaryColorPanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_primaryColorPanelMouseClicked
+        Color current = primaryColorPanel.getBackground();
+        Color newColor = JColorChooser.showDialog(null, "Choose a color", current);
+        primaryColorPanel.setBackground(newColor);
+        listener.setPrimaryColor(newColor);
+    }//GEN-LAST:event_primaryColorPanelMouseClicked
+
+    private void secondaryColorPanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_secondaryColorPanelMouseClicked
+        Color current = secondaryColorPanel.getBackground();
+        Color newColor = JColorChooser.showDialog(null, "Choose a color", current);
+        secondaryColorPanel.setBackground(newColor);
+        listener.setSecondaryColor(newColor);
+    }//GEN-LAST:event_secondaryColorPanelMouseClicked
+
+    private void colorButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorButtonActionPerformed
+        primaryColorPanel.setBackground(listener.getDefaultPrimaryColor());
+        secondaryColorPanel.setBackground(listener.getDefaultSecondaryColor());
+        listener.setDeafultColor();
+    }//GEN-LAST:event_colorButtonActionPerformed
+
+    private void transparencyButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_transparencyButtonActionPerformed
+        listener.setTransparency(10);
+        transparencySlider.setValue(10);
+        transparencySlider.repaint();
+    }//GEN-LAST:event_transparencyButtonActionPerformed
+
+    private void transparencySliderStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_transparencySliderStateChanged
+        listener.setTransparency(transparencySlider.getValue());
+    }//GEN-LAST:event_transparencySliderStateChanged
+
+    private void frontButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_frontButtonActionPerformed
+        listener.setFrontFacing();
+    }//GEN-LAST:event_frontButtonActionPerformed
+
+    private void profileButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_profileButtonActionPerformed
+        listener.setSideFacing();
+    }//GEN-LAST:event_profileButtonActionPerformed
+
+    private void translationButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_translationButtonActionPerformed
+        translationXFTF.setValue(0);
+        translationYFTF.setValue(0);
+        translationZFTF.setValue(0);
+        listener.resetTranslation();
+    }//GEN-LAST:event_translationButtonActionPerformed
+
+    private void rotationButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rotationButtonActionPerformed
+        rotationXFTF.setValue(0);
+        rotationYFTF.setValue(0);
+        rotationZFTF.setValue(0);
+        listener.resetRotation();
+    }//GEN-LAST:event_rotationButtonActionPerformed
+
+    private void scaleButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_scaleButtonActionPerformed
+        scaleFTF.setValue(0);
+        listener.resetScale();
+    }//GEN-LAST:event_scaleButtonActionPerformed
+
+    private void leftTranslationXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftTranslationXButtonActionPerformed
+        double newValue = ((Number)translationXFTF.getValue()).doubleValue() - 1;
+        translationXFTF.setValue(newValue);
+    }//GEN-LAST:event_leftTranslationXButtonActionPerformed
+
+    private void resetAllButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetAllButtonActionPerformed
+        colorButtonActionPerformed(evt);
+        transparencyButtonActionPerformed(evt);
+        frontButtonActionPerformed(evt);
+        translationButtonActionPerformed(evt);
+        rotationButtonActionPerformed(evt);
+        scaleButtonActionPerformed(evt);
+    }//GEN-LAST:event_resetAllButtonActionPerformed
+
+    private void rightTranslationXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightTranslationXButtonActionPerformed
+        double newValue = ((Number)translationXFTF.getValue()).doubleValue() + 1;
+        translationXFTF.setValue(newValue);
+    }//GEN-LAST:event_rightTranslationXButtonActionPerformed
+
+    private void leftTranslationYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftTranslationYButtonActionPerformed
+        double newValue = ((Number)translationYFTF.getValue()).doubleValue() - 1;
+        translationYFTF.setValue(newValue);
+    }//GEN-LAST:event_leftTranslationYButtonActionPerformed
+
+    private void rightTranslationYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightTranslationYButtonActionPerformed
+        double newValue = ((Number)translationYFTF.getValue()).doubleValue() + 1;
+        translationYFTF.setValue(newValue);
+    }//GEN-LAST:event_rightTranslationYButtonActionPerformed
+
+    private void leftTranslationZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftTranslationZButtonActionPerformed
+        double newValue = ((Number)translationZFTF.getValue()).doubleValue() - 1;
+        translationZFTF.setValue(newValue);
+    }//GEN-LAST:event_leftTranslationZButtonActionPerformed
+
+    private void rightTranslationZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightTranslationZButtonActionPerformed
+        double newValue = ((Number)translationZFTF.getValue()).doubleValue() + 1;
+        translationZFTF.setValue(newValue);
+    }//GEN-LAST:event_rightTranslationZButtonActionPerformed
+
+    private void leftRotationXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftRotationXButtonActionPerformed
+        double newValue = ((Number)rotationXFTF.getValue()).doubleValue() - 1;
+        rotationXFTF.setValue(newValue);
+    }//GEN-LAST:event_leftRotationXButtonActionPerformed
+
+    private void rightRotationXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightRotationXButtonActionPerformed
+        double newValue = ((Number)rotationXFTF.getValue()).doubleValue() + 1;
+        rotationXFTF.setValue(newValue);
+    }//GEN-LAST:event_rightRotationXButtonActionPerformed
+
+    private void leftRotationYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftRotationYButtonActionPerformed
+        double newValue = ((Number)rotationYFTF.getValue()).doubleValue() - 1;
+        rotationYFTF.setValue(newValue);
+    }//GEN-LAST:event_leftRotationYButtonActionPerformed
+
+    private void rightRotationYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightRotationYButtonActionPerformed
+        double newValue = ((Number)rotationYFTF.getValue()).doubleValue() + 1;
+        rotationYFTF.setValue(newValue);
+    }//GEN-LAST:event_rightRotationYButtonActionPerformed
+
+    private void leftRotationZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftRotationZButtonActionPerformed
+        double newValue = ((Number)rotationZFTF.getValue()).doubleValue() - 1;
+        rotationZFTF.setValue(newValue);
+    }//GEN-LAST:event_leftRotationZButtonActionPerformed
+
+    private void rightRotationZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightRotationZButtonActionPerformed
+        double newValue = ((Number)rotationZFTF.getValue()).doubleValue() + 1;
+        rotationZFTF.setValue(newValue);
+    }//GEN-LAST:event_rightRotationZButtonActionPerformed
+
+    private void scaleMinusButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_scaleMinusButtonActionPerformed
+        double newValue = ((Number)scaleFTF.getValue()).doubleValue() - 1;
+        scaleFTF.setValue(newValue);
+    }//GEN-LAST:event_scaleMinusButtonActionPerformed
+
+    private void scalePlusButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_scalePlusButtonActionPerformed
+        double newValue = ((Number)scaleFTF.getValue()).doubleValue() + 1;
+        scaleFTF.setValue(newValue);
+    }//GEN-LAST:event_scalePlusButtonActionPerformed
+
+    private void translationXFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_translationXFTFPropertyChange
+        float value = ((Number)translationXFTF.getValue()).floatValue();
+        listener.setXTranslation(value);
+    }//GEN-LAST:event_translationXFTFPropertyChange
+
+    private void translationYFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_translationYFTFPropertyChange
+        float value = ((Number)translationYFTF.getValue()).floatValue();
+        listener.setYTranslation(value);
+    }//GEN-LAST:event_translationYFTFPropertyChange
+
+    private void translationZFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_translationZFTFPropertyChange
+        float value = ((Number)translationZFTF.getValue()).floatValue();
+        listener.setZTranslation(value);
+    }//GEN-LAST:event_translationZFTFPropertyChange
+
+    private void rotationXFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_rotationXFTFPropertyChange
+        float value = ((Number)rotationXFTF.getValue()).floatValue();
+        listener.setXRotation(value);
+    }//GEN-LAST:event_rotationXFTFPropertyChange
+
+    private void rotationYFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_rotationYFTFPropertyChange
+        float value = ((Number)rotationYFTF.getValue()).floatValue();
+        listener.setYRotation(value);
+    }//GEN-LAST:event_rotationYFTFPropertyChange
+
+    private void rotationZFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_rotationZFTFPropertyChange
+        float value = ((Number)rotationZFTF.getValue()).floatValue();
+        listener.setZRotation(value);
+    }//GEN-LAST:event_rotationZFTFPropertyChange
+
+    private void scaleFTFPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_scaleFTFPropertyChange
+        float value = ((Number)scaleFTF.getValue()).floatValue();
+        listener.setScale(value);
+    }//GEN-LAST:event_scaleFTFPropertyChange
+
+    private void scaleSmallPlusButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_scaleSmallPlusButtonActionPerformed
+        double newValue = ((Number)scaleFTF.getValue()).doubleValue() + 0.1;
+        scaleFTF.setValue(newValue);
+    }//GEN-LAST:event_scaleSmallPlusButtonActionPerformed
+
+    private void scaleSmallMinusButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_scaleSmallMinusButtonActionPerformed
+        double newValue = ((Number)scaleFTF.getValue()).doubleValue() - 0.1;
+        scaleFTF.setValue(newValue);
+    }//GEN-LAST:event_scaleSmallMinusButtonActionPerformed
+
+    private void leftSmallTranslXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftSmallTranslXButtonActionPerformed
+        double newValue = ((Number)translationXFTF.getValue()).doubleValue() - 0.1;
+        translationXFTF.setValue(newValue);
+    }//GEN-LAST:event_leftSmallTranslXButtonActionPerformed
+
+    private void rightSmallTranslXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightSmallTranslXButtonActionPerformed
+        double newValue = ((Number)translationXFTF.getValue()).doubleValue() + 0.1;
+        translationXFTF.setValue(newValue);
+    }//GEN-LAST:event_rightSmallTranslXButtonActionPerformed
+
+    private void leftSmallTranslYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftSmallTranslYButtonActionPerformed
+        double newValue = ((Number)translationYFTF.getValue()).doubleValue() - 0.1;
+        translationYFTF.setValue(newValue);
+    }//GEN-LAST:event_leftSmallTranslYButtonActionPerformed
+
+    private void rightSmallTranslYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightSmallTranslYButtonActionPerformed
+        double newValue = ((Number)translationYFTF.getValue()).doubleValue() + 0.1;
+        translationYFTF.setValue(newValue);
+    }//GEN-LAST:event_rightSmallTranslYButtonActionPerformed
+
+    private void leftSmallTranslZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftSmallTranslZButtonActionPerformed
+        double newValue = ((Number)translationZFTF.getValue()).doubleValue() - 0.1;
+        translationZFTF.setValue(newValue);
+    }//GEN-LAST:event_leftSmallTranslZButtonActionPerformed
+
+    private void rightSmallTranslZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightSmallTranslZButtonActionPerformed
+        double newValue = ((Number)translationZFTF.getValue()).doubleValue() + 0.1;
+        translationZFTF.setValue(newValue);
+    }//GEN-LAST:event_rightSmallTranslZButtonActionPerformed
+
+    private void leftSmallRotaXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftSmallRotaXButtonActionPerformed
+        double newValue = ((Number)rotationXFTF.getValue()).doubleValue() - 0.1;
+        rotationXFTF.setValue(newValue);
+    }//GEN-LAST:event_leftSmallRotaXButtonActionPerformed
+
+    private void rightSmallRotaXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightSmallRotaXButtonActionPerformed
+        double newValue = ((Number)rotationXFTF.getValue()).doubleValue() + 0.1;
+        rotationXFTF.setValue(newValue);
+    }//GEN-LAST:event_rightSmallRotaXButtonActionPerformed
+
+    private void leftSmallRotaYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftSmallRotaYButtonActionPerformed
+        double newValue = ((Number)rotationYFTF.getValue()).doubleValue() - 0.1;
+        rotationYFTF.setValue(newValue);
+    }//GEN-LAST:event_leftSmallRotaYButtonActionPerformed
+
+    private void rightSmallRotaYButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightSmallRotaYButtonActionPerformed
+        double newValue = ((Number)rotationYFTF.getValue()).doubleValue() + 0.1;
+        rotationYFTF.setValue(newValue);
+    }//GEN-LAST:event_rightSmallRotaYButtonActionPerformed
+
+    private void leftSmallRotaZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftSmallRotaZButtonActionPerformed
+        double newValue = ((Number)rotationZFTF.getValue()).doubleValue() - 0.1;
+        rotationZFTF.setValue(newValue);
+    }//GEN-LAST:event_leftSmallRotaZButtonActionPerformed
+
+    private void rightSmallRotaZButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightSmallRotaZButtonActionPerformed
+        double newValue = ((Number)rotationZFTF.getValue()).doubleValue() + 0.1;
+        rotationZFTF.setValue(newValue);
+    }//GEN-LAST:event_rightSmallRotaZButtonActionPerformed
+
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton applyButton;
+    private javax.swing.JButton colorButton;
+    private javax.swing.JToggleButton featurePointsButton;
+    private javax.swing.JButton frontButton;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel2;
+    private javax.swing.JLabel jLabel3;
+    private javax.swing.JLabel jLabel4;
+    private javax.swing.JSeparator jSeparator1;
+    private javax.swing.JSeparator jSeparator2;
+    private javax.swing.JSeparator jSeparator3;
+    private javax.swing.JSeparator jSeparator4;
+    private javax.swing.JSeparator jSeparator5;
+    private javax.swing.JSeparator jSeparator6;
+    private javax.swing.JSeparator jSeparator7;
+    private javax.swing.JButton leftRotationXButton;
+    private javax.swing.JButton leftRotationYButton;
+    private javax.swing.JButton leftRotationZButton;
+    private javax.swing.JButton leftSmallRotaXButton;
+    private javax.swing.JButton leftSmallRotaYButton;
+    private javax.swing.JButton leftSmallRotaZButton;
+    private javax.swing.JButton leftSmallTranslXButton;
+    private javax.swing.JButton leftSmallTranslYButton;
+    private javax.swing.JButton leftSmallTranslZButton;
+    private javax.swing.JButton leftTranslationXButton;
+    private javax.swing.JButton leftTranslationYButton;
+    private javax.swing.JButton leftTranslationZButton;
+    private javax.swing.JLabel modelLabel;
+    private javax.swing.JPanel primaryColorPanel;
+    private javax.swing.JLabel primaryLabel;
+    private javax.swing.JButton profileButton;
+    private javax.swing.JButton resetAllButton;
+    private javax.swing.JButton rightRotationXButton;
+    private javax.swing.JButton rightRotationYButton;
+    private javax.swing.JButton rightRotationZButton;
+    private javax.swing.JButton rightSmallRotaXButton;
+    private javax.swing.JButton rightSmallRotaYButton;
+    private javax.swing.JButton rightSmallRotaZButton;
+    private javax.swing.JButton rightSmallTranslXButton;
+    private javax.swing.JButton rightSmallTranslYButton;
+    private javax.swing.JButton rightSmallTranslZButton;
+    private javax.swing.JButton rightTranslationXButton;
+    private javax.swing.JButton rightTranslationYButton;
+    private javax.swing.JButton rightTranslationZButton;
+    private javax.swing.JLabel rotatXLabel;
+    private javax.swing.JLabel rotatYLabel;
+    private javax.swing.JLabel rotatZLabel;
+    private javax.swing.JButton rotationButton;
+    private javax.swing.JFormattedTextField rotationXFTF;
+    private javax.swing.JFormattedTextField rotationYFTF;
+    private javax.swing.JFormattedTextField rotationZFTF;
+    private javax.swing.JButton scaleButton;
+    private javax.swing.JFormattedTextField scaleFTF;
+    private javax.swing.JButton scaleMinusButton;
+    private javax.swing.JButton scalePlusButton;
+    private javax.swing.JButton scaleSmallMinusButton;
+    private javax.swing.JButton scaleSmallPlusButton;
+    private javax.swing.JPanel secondaryColorPanel;
+    private javax.swing.JLabel secondaryLabel;
+    private javax.swing.JLabel translXLabel;
+    private javax.swing.JLabel translYLabel;
+    private javax.swing.JLabel translZLabel;
+    private javax.swing.JButton translationButton;
+    private javax.swing.JFormattedTextField translationXFTF;
+    private javax.swing.JFormattedTextField translationYFTF;
+    private javax.swing.JFormattedTextField translationZFTF;
+    private javax.swing.JButton transparencyButton;
+    private javax.swing.JSlider transparencySlider;
+    private javax.swing.JLabel viewLabel;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/GUI/src/main/resources/cz/fidentis/analyst/gui/Bundle.properties b/GUI/src/main/resources/cz/fidentis/analyst/gui/Bundle.properties
index 735652e9ef762861b6814501b1b928b18d771306..83937dcb7d98ca1199fc1bdb667b280b3fc81369 100644
--- a/GUI/src/main/resources/cz/fidentis/analyst/gui/Bundle.properties
+++ b/GUI/src/main/resources/cz/fidentis/analyst/gui/Bundle.properties
@@ -16,3 +16,8 @@ ProjectTopComp.addButton1.text=Add
 ProjectTopComp.analyzeButton1.text=Open 1:1
 ProjectTopComp.inflateButton1.text=Inflate
 ProjectTopComp.collapseButton1.text=Collapse
+PreRegistrationPanel.titleLabel.text=Registration setup
+PreRegistrationPanel.methodLabel.text=Method:
+PreRegistrationPanel.jLabel1.text=jLabel1
+PreRegistrationPanel.jLabel2.text=jLabel2
+PreRegistrationPanel.registerButton.text=Register
diff --git a/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties b/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties
index 3b4ce9f121b8633cb7cf8321818cc146ce77b8ad..974575481198505e166fee906856d25f5b7308c4 100644
--- a/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties
+++ b/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties
@@ -1,2 +1,75 @@
 
 SingleFaceTab.jButton1.text=
+PostRegistrationCP.leftRotationXButton.text=<<
+PostRegistrationCP.rotationXFTF.toolTipText=
+PostRegistrationCP.rotationXFTF.text=0
+PostRegistrationCP.rightTranslationZButton.text=>>
+PostRegistrationCP.rightTranslationYButton.text=>>
+PostRegistrationCP.leftTranslationZButton.text=<<
+PostRegistrationCP.leftTranslationYButton.text=<<
+PostRegistrationCP.applyButton.text=Apply changes
+PostRegistrationCP.scaleButton.toolTipText=reset scale
+PostRegistrationCP.scaleButton.text=reset
+PostRegistrationCP.rotationButton.toolTipText=reset rotation
+PostRegistrationCP.rotationButton.text=reset
+PostRegistrationCP.translationZFTF.text=0
+PostRegistrationCP.translationYFTF.text=0
+PostRegistrationCP.translationXFTF.toolTipText=
+PostRegistrationCP.translationXFTF.text=0
+PostRegistrationCP.leftTranslationXButton.text=<<
+PostRegistrationCP.translationButton.toolTipText=reset translation
+PostRegistrationCP.translationButton.text=reset
+PostRegistrationCP.profileButton.toolTipText=model profile view
+PostRegistrationCP.profileButton.text=profile
+PostRegistrationCP.frontButton.toolTipText=model front view
+PostRegistrationCP.frontButton.text=front
+PostRegistrationCP.featurePointsButton.text=Feature points
+PostRegistrationCP.viewLabel.text=View:
+PostRegistrationCP.modelLabel.text=Model:
+PostRegistrationCP.transparencyButton.toolTipText=reset transparency
+PostRegistrationCP.transparencyButton.text=Opacity
+PostRegistrationCP.colorButton.toolTipText=reset colors
+PostRegistrationCP.colorButton.text=Color
+PostRegistrationCP.primaryLabel.text=Primary
+PostRegistrationCP.jLabel1.text=Registration adjustment
+PostRegistrationCP.secondaryLabel.toolTipText=
+PostRegistrationCP.secondaryLabel.text=Secondary
+PostRegistrationCP.transparencySlider.toolTipText=sets model transparency
+PostRegistrationCP.secondaryColorPanel.toolTipText=sets color of secondary model
+PostRegistrationCP.primaryColorPanel.toolTipText=sets color of primary model
+PostRegistrationCP.scalePlusButton.text=++
+PostRegistrationCP.scaleMinusButton.text=- -
+PostRegistrationCP.scaleFTF.toolTipText=
+PostRegistrationCP.scaleFTF.text=0
+PostRegistrationCP.rotationZFTF.text=0
+PostRegistrationCP.rotationYFTF.text=0
+PostRegistrationCP.rightRotationZButton.text=>>
+PostRegistrationCP.rightRotationYButton.text=>>
+PostRegistrationCP.leftRotationZButton.text=<<
+PostRegistrationCP.leftRotationYButton.text=<<
+PostRegistrationCP.rightRotationXButton.text=>>
+PostRegistrationCP.jLabel2.text=Translation:
+PostRegistrationCP.jLabel3.text=Rotation:
+PostRegistrationCP.jLabel4.text=Scale:
+PostRegistrationCP.resetAllButton.text=reset all
+PostRegistrationCP.leftSmallTranslXButton.text=<
+PostRegistrationCP.rightSmallTranslYButton.text=>
+PostRegistrationCP.rightSmallTranslXButton.text=>
+PostRegistrationCP.leftSmallTranslYButton.text=<
+PostRegistrationCP.leftSmallTranslZButton.text=<
+PostRegistrationCP.rightSmallTranslZButton.text=>
+PostRegistrationCP.leftSmallRotaXButton.text=<
+PostRegistrationCP.leftSmallRotaYButton.text=<
+PostRegistrationCP.leftSmallRotaZButton.text=<
+PostRegistrationCP.rightSmallRotaXButton.text=>
+PostRegistrationCP.rightSmallRotaYButton.text=>
+PostRegistrationCP.rightSmallRotaZButton.text=>
+PostRegistrationCP.translXLabel.text=horizontal
+PostRegistrationCP.translYLabel.text=vertical
+PostRegistrationCP.translZLabel.text=front-back
+PostRegistrationCP.rotatXLabel.text=X
+PostRegistrationCP.rotatYLabel.text=Y
+PostRegistrationCP.rotatZLabel.text=Z
+PostRegistrationCP.scaleSmallPlusButton.text=+
+PostRegistrationCP.scaleSmallMinusButton.text=-
+PostRegistrationCP.rightTranslationXButton.text=>>
diff --git a/GUI/src/main/resources/cz/fidentis/analyst/newgui/Bundle.properties b/GUI/src/main/resources/cz/fidentis/analyst/newgui/Bundle.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391