Frame |
The CAAGeometry SampleA sample to understand the main mechanisms of the V5 user interface. |
|
Use Case |
AbstractThis use case explains, through the CAAGeometry document, the usage and the behavior of the main mechanisms of the basic "Enterprise Architecture" frameworks: ApplicationFrame, CATIAApplicationFrame, Dialog , DialogEngine, Visualization, VisualizationBase and System. |
This use case illustrates the mechanisms and the interfaces which define the user interface. It mainly concerns the Frame and the Command domains. You will learn concepts which are described in different articles indicated by the number in the bracket:
This use case is interesting for at least two reasons. At first, you can study the concepts by reading the articles or directly the code. By this way you have a static view. But you can also have an interactive view to understand, for example, the call order. Most of the classes display output in the constructor, destructor, and in main methods.
[Top]
CAAGeometry is a use case distributed on several frameworks: CAAApplicationFrame.edu, CAACATIAApplicationFrm.edu, CAADialogEngine.edu, CAAVisualization.edu, CAAObjectModelerBase.edu and CAASystem.edu. They illustrate ApplicationFrame, CATIAApplicationFrame, Dialog, DialogEngine, Visualization, VisualizationBase and System framework capabilities.
[Top]
The CAAGeometry use case is mainly a set of commands which group together the main interfaces and behaviors of the frame/command domains. These commands are used to edit the CAAGeometry document. This document has two workbenches: The CAA V5: Geometrical Creation and the CAA V5: Geometrical Analysis workbenches.
The CAAGeometry workshop consists in commands which are located in the menu bar and inside five toolbars, the last three toolbars being add-in toolbars.
The CAA V5: Geometrical Creation workbench contains two toolbars whose the Operation toolbar which is a Add-in toolbar. ( The menu bar, not described here, contains the commands too)
The CAA V5: Geometrical Analysis workbench contains one toolbar. ( The menu bar, not described here, contains the commands too)
The Basic Elements toolbar contains commands to create the CAAGeometry document elements: point, line, plane, cercle ...
The use case shows the implementation of some interfaces on the elements:
On the Plane element |
On the Ellipse element |
On the Plane element |
There are other behaviors:
On the Circle element |
For the CAA V5: Geometrical Creation workbench |
For the CAA V5: Geometrical Analysis workbench |
There are two reasons to customize a command header:
The left picture shows a combo of colors [32], on the middle a dynamic list of push items (Item 1,Item 2) [33], and on right two editors [34]. Third are specialized command headers.
Tools Palette
You can provide to the end user some "options". These options are command header instances integrated in the Tools Palette toolbar. It is a specific toolbar, that the frame application creates. A workbench can added options [36], or a command [35].
On this above picture, you can see a command header instance represented by two editors [34], and inserted in the toolbar by the "CAAGeometry Creation" workbench [36]. The other forth icons are command header instances created in the Cuboid command [35].
The Geometrical Creation workbench contains commands to create components of the CAAGeometry document. These components are the following:
CAASysPoint
, for point elements
CAASysLine
, for line elements
CAASysPlane
, for plane elements
CAASysPolyline
, for polyline, triangle and
rectangle elements
CAASysCircle
, for circle elements
CAASysEllipse
, for ellipse elements
CAASysCuboid
, for cuboid elements
CAASysCylinder
, for cylinder elements
The root component, not created by a command , is
CAASysGeomRootObj
. This component implements some interfaces whose the
main one is CATIUIActivate to provide the workshop of the CAAGeometry
document.
[Top]
To launch the CAAGeometry use case, you will need to set up the build time environment, then compile:
Launch CATIA. When the application is ready, follow scenarios described below:
The Workbenches Transitions scenario
Two CAAGeometry document's windows are open.
The Creation Objects scenario: (The complete scenarios are described in the article given in the brackets)
With the CAAGeometry workshop commands:
With the CAA V5: Geometrical Creation workbench commands
With the CAA V5: Geometrical Analysis workbench commands
The Edition scenario [11]
The Contextual-SubMenu / Contextual Menu [10] scenario
The New Window scenario: [7]
The Edit Properties scenario [12]
The Interruptible Task scenario [24]
The Bounding Element scenario [23]
The Temporary Objects/ISO scenario [29]
[Top]
The CAAGeometry use case is made of a several modules "repartis sur plusieurs framework"
which are inside:
Windows | InstallRootDirectory\ |
Unix | InstallRootDirectory/ |
where InstallRootDirectory
is the directory where the CAA
CD-ROM is installed.
Name of the Module | Contents of the module |
CAAAfrGeometryWshop.m | This module contains the CAAGeometry workshop definition. |
CAAAfrGeoAnalysisWbench.m | This module contains the "CAA V5: Geometrical Analysis" workbench definition. It is one of two workbench of the CAAGeometry document. |
CAAAfrGeoCreationWbench.m | This module contains the "CAA V5: Geometrical Creation" workbench definition. It is one of two workbench of the CAAGeometry document. [1] |
CAAAfrGeoCreationWkbAddin.m | This module contains one Add-in of the "CAA V5: Geometrical Creation" workbench. [2] |
CAAAfrGeoWksAddin.m | This module contains one Add-in of the CAAGeometry workshop. |
CAAAfrGeoWksAddin2.m | This module contains the second Add-in of the CAAGeometry workshop. This Add-in contains the "Histogram Chart Window" command [7] |
CAAAfrGeometryWksTransition.m | This module contains the CATIWorkbenchTransition implementation for the CAA Geometry workshop. [3] |
CAAAfrGeoDocument.m
CAAAfrGeoModel.m |
These two modules contain the necessary interface implementations to visualize the CAAGeometry document |
CAAAfrSampleDocument.m | This module contains the necessary interface implementations to visualize the CAASample document |
CAAAfrGeoSubMenu.m | This module contains the CATIContextualSubMenu implementation for a component of the CAAGeometry document. |
CAAAfrGeoWindows.m | This module contains the definition of the "Histogram Chart Window" [7] window and of the default window of the CAASample document [8] . |
CAAAfrGeoEdition.m | This module contains the CATIEdit implementation for some components of the CAAGeometry document. [11] |
CAAAfrGeoCommands.m | This module contains some commands used by the CAAGeometry workshop. [23] |
CAAAfrProgressTask.m | This module contains a command which implements the CATIProgressTask interface. [24] |
CAAAfrGeneralWksAddin.m | This module contains an Add-in of the General workshop [30]. It means that all the commands launched from a command header defined in this add-in are available whatever the type of the document, and even if no document is opened. Like the New command. |
CAAAfrCustCommandHdrModel.m | This module contains the "model" part of the specialized command headers. |
CAAAfrCustomizedCommandHeader.m | This module contains the definition of the two specialized command headers: a combo header [32] a MRU header [33], and editor header [34] |
CAAAfrPaletteOptions.m | This module contains the implementation of the CATIAfrPaletteOptions interface on the workbench of creation. |
Name of the Module | Contents of the module |
CAACafContextualMenu.m | This module contains the CATIContextualMenu implementation for a component of the CAAGeometry document. [10] |
CAACafCtrlToolsOptions.m | This module contains the definition of the setting controllers. [25] |
CAACafEltToolsOptions.m | This module creates the Elements property page that contains three frames: Identifier, Max Points/Curve, and Implicit Points. This property page is associated with the "CAA V5: Geometrical Creation" workbench. [9] |
CAACafViewToolsOptions.m | This module creates the View property page that contains the 3DRepresentation frame. This property page is also associated with the "CAA V5: Geometrical Creation" workbench. |
CAACafUseToolsOptions.m | This module contains a command which uses the "Elements" property page options . |
CAACafEditTextureProp.m | This module contains the CATIEditProperties implementation for some components of the CAAGeometry document. It is the "Texture" properties. [12] |
CAACafEditColorProp.m | This module contains the CATIEditProperties implementation for some components of the CAAGeometry document. It is the "Color" properties. |
CAACafRootProperties.m | This module contains the CATIRootProperties implementation. |
CAACafGeoDocument.m | This module contains the CATIDocumentEdit implementation for the CAAGeometry document |
CAACafViewerFeedback.m | This module contains the code to see the usage of a specific notification sent by a viewer. This notification give you information about the mouse position, list of elements under the mouse .... |
Name of the Module | Contents of the module |
CAASysGeoModelComp.m | This module contains the implementation of all the components contained in the CAAGeometry document. It contains the CATICreateInstance implementations too. |
CAASysGeoModelInt.m | This module contains the definition of some interfaces implemented by the CAAGeometry document components. It is the interface of type: the interface which characterizes the component. |
CAASysGeoModelImpl.m | This module contains the data extensions for the interfaces defined in the previous module. |
Name of the Module | Contents of the module |
CAADegGeoCommands.m | This module contains all the state commands of the CAAGeometry documents. [13, .., 22] |
CAADegMultiDocCmd.m | This module contains the command which derives from CATMultiDocumentCommand and which is associated with a CATOtherDocumentAgent. |
Name of the Module | Contents of the module |
CAAVisGeoModel.m | This module contains the CATIVis3DGeoVisu implementation for the CAAGeometry document components. [26] |
CAAVisModelForRep.m | This module contains the creation of the CAAVisTextModel component. This component is a used as temporary object to represent the "ISO Selection" Text in the "Clipping By Box" command. [29] |
CAAVisWireBoxComp.m | This module contains the creation of the CAAVisWireBox component. This component is a used as temporary object to represent the bounding box in the "Clipping By Box" command. [29] |
Name of the Module | Contents of the module |
CAAOmbGeoNavigate.m | This module contains the CATINavigateObject implementation for all the CAAGeometry document components and the CATINavigModify implementation for Point and Root componants. [27] |
[Top]
Each articles named below contains a Step-By-Step section. Here are given the main articles to customize the V5 frame:
Creating a Workbench
Creating an Add-In
Creating a Property Page for Application Properties
Implementing the Statechart Diagram
Creating a Command that Consists in a Dialog Window
Once you have created you own feature, refer to the Mechanical Modeler articles for details, you can study the articles as follows:
Inserting Commands in Contextual Menus
Editing Objects
Creating a Property Page for Object Properties
[Top]
The CAAGeometry use case enables you to understand the main mechanisms of the V5 user interface and to customize it.
[Top]
[1] | Creating a Workbench |
[2] | Creating an Add-In |
[3] | Managing Transitions between Workbenches |
[4] | Creating Standard Command Headers |
[5] | Creating Customized Command Headers |
[6] | Using Cameras |
[7] | Creating a Document's Window -1 |
[8] | Creating a Document's Window-2 |
[9] | Creating a Property Page for Application Properties |
[10] | Inserting Commands in Contextual Menus |
[11] | Editing Objects |
[12 ] | Creating a Property Page for Object Properties |
[13 ] | Implementing the Statechart Diagram |
[14 ] | Managing Indication |
[15 ] | Managing Selection |
[16 ] | Managing Multi Selection |
[17 ] | Managing Command Undo/Redo |
[18 ] | Managing Undo/Redo of Input and Actions |
[19 ] | Associating a Dialog Box with a State |
[20 ] | Associating a Dialog Box with a Dialog Agent-1 |
[21 ] | Associating a Dialog Box with a Dialog Agent-2 |
[22 ] | Creating Contextual Menus in a State Dialog Command |
[23 ] | Creating a Command that Consists in a Dialog Window |
[24] | Creating an Interruptible Task |
[25] | Creating a Setting Controller |
[26] | Making a Component Displayable With CATI3DGeoVisu |
[27] | The Object Navigator |
[28] | Getting Started with State Dialog Commands |
[29] | Creating Temporary Objects |
[30] | Making Your Document Independent Command Available in All Workbenches |
[31] | Viewer Feedback |
[32] | Creating a Combo Command Header |
[33] | Creating a Most Recent used Command Header |
[34] | Creating Editors in Toolbar |
[35] | Creating a Command with Options in the "Tools Palette" Toolbar |
[36] | Using the "Tools Palette" Toolbar for a Workbench |
[Top] |
Version: 1 [Apr 2003] | Document created |
Version: 2 [Feb 2004] | Document updated |
[Top] |
Copyright © 2000, Dassault Systèmes. All rights reserved.