{
    "camitk": {
        "extensions": {
            "actions": [
                {
                    "classMembers": "    camitk::AnatomicalOrientation anatomicalOrientation;\n    void setCurrentFrame(const camitk::FrameOfReference* fr);\n    void updateUiContent();\nprivate:\n\n/// the Qt Gui\nUi::EditAnatomicalInformationWidget ui;\n\nQWidget* myWidget;\nconst camitk::FrameOfReference *currentFrame;",
                    "classification": {
                        "family": "Frames",
                        "tags": [
                            "orientation",
                            "anatomy",
                            "frame"
                        ]
                    },
                    "componentClass": "",
                    "description": "Sets the anatomical orientation information for a given Frame.\n\nThis allows CamiTK to display the correct letters (R/L, I/S, A/P) or even custom ones for each axis, and to correctly orient the camera in the Axial/Sagittal/Coronal orientations",
                    "gui": "Custom GUI",
                    "headerIncludes": "#include <QLineEdit>\n#include <QComboBox>\n#include <QLabel>\n#include <QWidget>\n\n#include <AnatomicalOrientation.h>\n#include <FrameOfReference.h>\n#include <TransformationManager.h>\n#include <Application.h>\n\n#include \"ui_EditAnatomicalInformation.h\"",
                    "name": "Edit Anatomical Information",
                    "notEmbedded": false,
                    "parameters": [
                        {
                            "defaultValue": false,
                            "description": "Set the information on the data frame (for ImageComponent) instead of the (main) frame of the Component",
                            "group": "",
                            "name": "Data Image Frame",
                            "readOnly": false,
                            "type": "bool",
                            "unit": ""
                        },
                        {
                            "defaultValue": 0,
                            "description": "",
                            "enumValues": [
                                "X",
                                "Y",
                                "Z"
                            ],
                            "group": "",
                            "name": "Axis",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        },
                        {
                            "defaultValue": 0,
                            "description": "",
                            "enumValues": [
                                "Minimum",
                                "Maximum"
                            ],
                            "group": "",
                            "name": "Direction",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        },
                        {
                            "defaultValue": "\"\"",
                            "description": "",
                            "group": "",
                            "name": "Label",
                            "readOnly": false,
                            "regExp": "",
                            "type": "QString",
                            "unit": ""
                        },
                        {
                            "defaultValue": 0,
                            "description": "",
                            "enumValues": [
                                "Unknown",
                                "Custom",
                                "RAI",
                                "RPS",
                                "RIP",
                                "RSA",
                                "LAS",
                                "LPI",
                                "LIA",
                                "ARS",
                                "ALI",
                                "AIR",
                                "ASL",
                                "PRI",
                                "PLS",
                                "PIL",
                                "PSR",
                                "IRA",
                                "ILP",
                                "IAL",
                                "IPR",
                                "SRP",
                                "SLA",
                                "SAR",
                                "SPL"
                            ],
                            "group": "",
                            "name": "Orientation",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        }
                    ]
                },
                {
                    "classMembers": "public slots:\n\nvirtual void transformationChanged();\nvirtual void setTransformationFromUI();\nvirtual void setCurrentTransformation(const camitk::Transformation*);\n\n\nvirtual void translationChanged();\nvirtual void translate();\nvirtual void setTranslation();\n\nvirtual void rotationChanged();\n///  Rotate\n///@param relative If relative is true, rotation will be applied to an identity transform, and only the translation component will be preserved\n///       If false (default) it will compose the rotation to the current matrix (X then Y then Z if checkbox is checked, Z/X/Y otherwise)\nvirtual void rotate(bool relative = true);\nvirtual void removeTransformation();\n\nprivate:\n\n/// the Qt Gui\nUi::FrameEditor ui;\n\nQWidget* myWidget;\ncamitk::Component* currentComponent;\nQVector< QVector<QLineEdit*> > transformMatrixElements;\nQLocale myLocale;\nint myPrecision;\ncamitk::Transformation* currentTransformation;",
                    "classification": {
                        "family": "Frames",
                        "tags": [
                            "transformation",
                            "matrix",
                            "translation",
                            "rotation"
                        ]
                    },
                    "componentClass": "",
                    "description": "Edit the selected Transformation.\nThis action allows one to set directly the matrix values, to apply a rotation or a translation to the current value.",
                    "gui": "Custom GUI",
                    "headerIncludes": "#include <QWidget>\n#include <QVector>\n#include <QLineEdit>\n#include <QLocale>\n\n#include <Transformation.h>\n\n#include \"ui_TransformationEditor.h\"",
                    "name": "Transformation Editor",
                    "notEmbedded": false,
                    "parameters": [
                    ]
                },
                {
                    "classMembers": "public:\n  void setCurrentFrame(const camitk::FrameOfReference*);\nprivate:\n  const camitk::FrameOfReference* currentFrame;\n  camitk::Component* frameComponent;",
                    "classification": {
                        "family": "View",
                        "tags": [
                            "Frame Of Reference",
                            "Coordinates",
                            "Visualization"
                        ]
                    },
                    "componentClass": "",
                    "description": "Show/Hide the 3D axes representation of the frame of reference of the selected component, i.e., its local coordinate system.",
                    "gui": "Default Action GUI",
                    "headerIncludes": "#include <FrameOfReference.h>",
                    "name": "Show Frame",
                    "notEmbedded": false,
                    "parameters": [
                        {
                            "defaultValue": false,
                            "description": "Show/Hide the component frame in the 3D viewer.",
                            "group": "",
                            "name": "Show Frame",
                            "readOnly": false,
                            "type": "bool",
                            "unit": ""
                        }
                    ]
                },
                {
                    "classMembers": "QVector<camitk::FrameOfReference*> allFrames;\nvoid refreshFrames();",
                    "classification": {
                        "family": "Frames",
                        "tags": [
                            "transformation"
                        ]
                    },
                    "componentClass": "",
                    "description": "Add a new Transformation between two frames",
                    "gui": "Default Action GUI",
                    "headerIncludes": "#include <FrameOfReference.h>\n#include <QVector>\n",
                    "implementationIncludes": "#include <TransformationManager.h>",
                    "name": "Add Transformation",
                    "notEmbedded": false,
                    "parameters": [
                        {
                            "defaultValue": 0,
                            "description": "Frame of origin for the new Transformation",
                            "enumValues": [
                                "frame1"
                            ],
                            "group": "",
                            "name": "Origin Frame",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        },
                        {
                            "defaultValue": 0,
                            "description": "Destination Frame of reference for the new Transformation",
                            "enumValues": [
                                "frame1"
                            ],
                            "group": "",
                            "name": "Destination Frame",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        }
                    ]
                },
                {
                    "classMembers": "const camitk::Transformation* currentTransformation;\npublic:\nvoid setTransformation(const camitk::Transformation*);",
                    "classification": {
                        "family": "Frames",
                        "tags": [
                            "transformation"
                        ]
                    },
                    "componentClass": "",
                    "description": "Remove a Transformation if possible (e.g. not owned by any object outside TransformationManager)",
                    "gui": "No GUI",
                    "headerIncludes": "#include <Transformation.h>",
                    "name": "Remove Transformation",
                    "notEmbedded": false,
                    "parameters": [
                    ]
                },
                {
                    "classification": {
                        "family": "Frames",
                        "tags": [
                            "frame",
                            "transformation"
                        ]
                    },
                    "componentClass": "Component",
                    "description": "Reset the Transformation of a Component: the Frame of the  input Component is set to a new independent Frame.\nYou can then add a Transformation between the new Frame and another one to define how it is related to other Components",
                    "gui": "No GUI",
                    "implementationIncludes": "#include <Component.h>",
                    "name": "Reset Frame",
                    "notEmbedded": false,
                    "parameters": [
                    ]
                },
                {
                    "classMembers": "camitk::ComponentList componentList;",
                    "classification": {
                        "family": "Frames",
                        "tags": [
                            "frame",
                            "transformation"
                        ]
                    },
                    "componentClass": "Component",
                    "description": "Sets the Frame/Frames of the input Component from the Frame/Frames of another Component",
                    "gui": "Default Action GUI",
                    "headerIncludes": "#include <CamiTKAPI.h>",
                    "implementationIncludes": "#include <Component.h>\n#include <Application.h>\n",
                    "name": "Set Frame From",
                    "notEmbedded": false,
                    "parameters": [
                        {
                            "defaultValue": 0,
                            "description": "Component that will be used to copy Frame(s) from.",
                            "enumValues": [
                                "First Enum Value"
                            ],
                            "group": "",
                            "name": "Source Component",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        },
                        {
                            "defaultValue": 0,
                            "description": "Only used if target and source Component are ImageComponents: choose whether to copy only the main Frame, or to copy all Frames and Transformations of the source Image.",
                            "enumValues": [
                                "Set Common Main Frame only",
                                "Copy All Frames and Transformations"
                            ],
                            "group": "",
                            "name": "Main Frame Only",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        }
                    ]
                }
            ],
            "alwaysRebuild": false,
            "applications": [
            ],
            "components": [
            ],
            "contact": {
                "author": "Manik Bhattacharjee",
                "email": "manik.bhattacharjee@univ-grenoble-alpes.fr"
            },
            "description": "This extension provides actions to manipulate Frames and Transformations for a component",
            "extensionDependencies": "NEEDS_VIEWER_EXTENSION interactivegeometryviewer",
            "generationType": "Standard",
            "libraries": [
            ],
            "license": "LGPL-3 CamiTK",
            "name": "Frames Transformations",
            "viewers": [
            ]
        },
        "timestamp": "2025-04-24T15:56:26",
        "version": "camitk-6.0"
    }
}
