# JCarnacPro

## **Table of Contents**

* [1. Presentation](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/jcarnacpro#presentation)
  * [1.1. Sophisticated 2D Graphics Components](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/jcarnacpro#1-sophisticated-2d-graphics-components-for-the-java-environment)
  * [1.2. Building Block For High-Level Components](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/jcarnacpro#2-a-building-block-for-high-level-components)
  * [1.3. Availability](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/jcarnacpro#3-availability)
* [2. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/introduction#introduction)
  * [2.1. Benefits](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/introduction#1-jcarnacpro-benefits)
  * [2.2. Purpose](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/introduction#2-purpose-of-this-document)
  * [2.3. Bundle](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/introduction#3-documentation-bundle)
* [3. Architectural Description of J/CarnacPro](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#architectural-description-of-jcarnacpro)
  * [3.1. Features of J/CarnacPro](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#1-features-of-jcarnacpro)
  * [3.2. Model-View-Controller Architecture](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#2-model-view-controller-architecture)
  * [3.3. Major J/CarnacPro Classes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#3-jcarnacpro-mvc-classes)
    * [3.3.1. Model](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#31-model)
    * [3.3.2. View](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#32-view)
    * [3.3.3. Controller](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#33-controller)
  * [3.4. Additional J/CarnacPro Classes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#additional-jcarnacpro-classes)
    * [3.4.1. Model](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#1-model)
    * [3.4.2. View](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#2-view)
    * [3.4.3. Controller](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#3-controller)
  * [3.5. Links to Reference Material](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/arch#links-to-reference-material)
* [4. Shapes, Layers, and Models](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#shapes-layers-and-models)
  * [4.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#1-introduction)
  * [4.2. Shapes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#2-shapes)
    * [4.2.1. J/CarnacPro Coordinates](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#21-jcarnacpro-coordinate-systems)
    * [4.2.2. Shape Bounding Box](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#22-shape-bounding-box)
    * [4.2.3. Point Sets](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#23-point-sets)
    * [4.2.4. Rectangular Shapes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#24-rectangular-shapes)
    * [4.2.5. Anchored Shapes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#25-anchored-shapes)
    * [4.2.6. Shape Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#26-shape-examples)
    * [4.2.7. Shape Factories](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#27-shape-factories)
  * [4.3. Shape Attributes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#3-shape-attributes)
  * [4.4. Layers](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#4-layers)
    * [4.4.1. Shape Quad Layer](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#41-shape-quad-layer)
    * [4.4.2 Layer Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#42-layer-examples)
  * [4.5. Models](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#5-models)
    * [4.5.1. Simple Model](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#51-simple-model)
    * [4.5.2. Container Model](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#52-container-model)
    * [4.5.3. Model Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/model#53-model-examples)
* [5. Views](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#Views)
  * [5.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#1-introduction)
  * [5.2. View Interface](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#2-view-interface)
  * [5.3. Carnac Component Class](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#3-carnac-component-class)
  * [5.4. Plot View Class](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#4-plot-view-class)
  * [5.5. Stacked Plot View Class](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#5-stacked-plot-view-class)
  * [5.6. Rendering and Exporting the View](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#6-rendering-and-exporting-the-view)
  * [5.7. View Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/views#7-view-examples)
* [6. Axes and Grids](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#axes-and-grids)
  * [6.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#1-introduction)
  * [6.2. Tick Generators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#2-tick-generators)
  * [6.3. Axis and Grid Renderers](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#3-axis-and-grid-renderers)
  * [6.4. Axis and Grid Shapes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#4-axis-and-grid-shapes)
  * [6.5. Axis View Class](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#5-axis-view-class)
  * [6.6. Axes and Grids Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/axes#6-axes-and-grids-examples)
* [7. Plots](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#plots)
  * [7.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#1-introduction)
  * [7.2. Plot Classes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#2-plot-classes)
  * [7.3. Plot Layouts](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#3-plot-layouts)
  * [7.4 Rendering System Operation](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#4-rendering-system-operation)
    * [7.4.1 Shape Changes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#41-shape-changes)
    * [7.4.2 Shape Changes in the Top View](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#42-shape-changes-in-the-top-view)
    * [7.4.3 Shape Changes in the Bottom View](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#43-shape-changes-in-the-bottom-view)
    * [7.4.4 Changes to Many Shapes at One Time](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#44-changes-to-many-shapes-at-one-time)
    * [7.4.5 Scrolling the View](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#45-scrolling-the-view)
    * [7.4.6 Changing the View State](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#46-changing-the-view-state)
    * [7.4.7 User Control over Rendering](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/plots#47-user-control-over-rendering)
* [8. Editors](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#editors)
  * [8.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#1-introduction)
  * [8.2. Attribute Editing](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#2-attribute-editing)
  * [8.3. Geometry Editing](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#3-geometry-editing)
  * [8.4. Handles](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#4-handles)
  * [8.5. Manipulators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#5-manipulators)
    * [8.5.1. Manipulator Helpers](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#51-manipulator-helpers)
      * [8.5.1.1. Shape Adapters](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#511-shape-adapters)
      * [8.5.1.2. Edit Adapter Factories](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#512-edit-adapter-factories)
      * [8.5.1.3. Shape Collections](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#513-shape-collections)
      * [8.5.1.4. Renderable Containers](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#514-renderable-containers)
      * [8.5.1.5. Manipulator Attribute Palette](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#515-manipulator-attribute-palette)
    * [8.5.2. View Manipulators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#52-view-manipulators)
    * [8.5.3. Shape Creating Manipulators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#53-shape-creating-manipulators)
    * [8.5.4. Rubber Band Selection Manipulators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#54-rubber-band-selection-manipulators)
    * [8.5.5. Geometric Manipulators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#55-geometric-manipulators)
    * [8.5.6. Combining Manipulators](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#56-combining-manipulators)
    * [8.5.7. Manipulator Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#57-manipulator-examples)
  * [8.6. Clipboard Support](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#6-clipboard-support)
    * [8.6.1. Clipboard, Drag, and Drop Example](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/editor#61-clipboard-drag-and-drop-example)
* [9. Selections](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/selection#selections)
  * [9.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/selection#1-introduction)
  * [9.2. Selecting Shapes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/selection#2-selecting-shapes)
  * [9.3. Selection Examples](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/selection#3-selection-examples)
  * [9.4. Selection Renderer](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/selection#4-selection-renderer)
  * [9.5. Selection Strategies Interface](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/selection#5-selection-strategies-interface)
* [10. Events](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/event#events)
  * [10.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/event#1-introduction)
  * [10.2. Events and Publishers](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/event#2-events-and-publishers)
* [11. Output and Runtime](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#output-and-runtime)
  * [11.1. Introduction](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#1-introduction)
  * [11.2. CGM Output](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#2-cgm-output)
  * [11.3. Headless Rendering](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#3-headless-rendering)
  * [11.4. Tips for Plotting Many Objects](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#4-tips-for-plotting-many-objects)
    * [11.4.1 Tips for Plotting Many Symbols](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#41-tips-for-plotting-many-symbols)
  * [11.5. System Properties for Rendering Performance](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#5-system-properties-for-rendering-performance)
  * [11.6. Printing](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#6-printing)
    * [11.6.1 Large Print Jobs](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#61-large-print-jobs)
    * [11.6.2 Page Size Validation and Uncommon Page Sizes](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#62-page-size-validation-and-uncommon-page-sizes)
    * [11.6.3 Continuous Printing to Rolls](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#63-continuous-printing-to-rolls)
    * [11.6.4 New Printing Requirements](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#64-new-printing-requirements)
    * [11.6.5 Exception from some Printer Drivers](/solutions/geotoolkit/geotoolkit_java/jgeotoolkit/jcarnacpro/runtime#65-exception-from-some-printer-drivers)


## Support Contacts

* [SLB Support](https://www.software.slb.com/support)
* **Support:** [customersupport.digital@slb.com](mailto:customersupport.digital@slb.com?subject=J%2FGeotoolkit%20API%20documentation%20request)


Copyright © 2004-2026 by SLB.

All rights reserved.