Carnac.NET

Powerful 2D Graphics Components for the Microsoft.NET Environment

Written completely
in the C# language, Carnac.NET is a powerful class library designed
to facilitate the development of sophisticated 2D graphical applications
for the Microsoft .NET environment. By taking care of most of the complexity
of graphics programming, including hardcopy output, object selection
and editing, performance optimization, layout and synchronization of
complex plots, Carnac.NET greatly simplifies the task of building the
graphics displays required in scientific, business, process control
and GIS applications.
The Carnac.NET environment
also serves as the foundation for many of our higher level and customized
component suites.
Benefits
Ease-of-Use
Carnac.NET provides an intuitive graphics environment where users can
model and organize their data in terms of shapes, attributes, and layers.
A model can be attached to a view for visualization or printing. Selection
strategies and manipulators are provided for easy selection and editing
of shapes inside a view.
Functionality
Carnac.NET offers all the standard graphic shapes plus more complex
ones, such as axis, grid, arrow, and symbol. Shapes can be organized
in layers, which can be stacked, added, removed, and reordered dynamically.
Layers can offer different containment mechanisms for shapes, including
linear list and quad tree. Layout managers allow views to be stacked,
positioned side by side, or assembled in more complex ways to handle
different requirements from basic scrolled views to multi-plot views
with several levels of axes and shared scrollbars.
Performance
Carnac.NET utilizes various techniques to maximize performance from
GDI+, including attribute caching, advanced damage repair control, extensive
buffering control, optimized spatial retrieval of shapes, dynamic rendering
of complex shapes and more.
Extensibility
Advanced
users don't want to be limited by capabilities of the underlying toolkit,
so Carnac.NET has been designed to be extensible from the ground up.
Most Carnac.NET resources are specified as extensible interfaces. For
example, it is easy for users to create their own custom shapes, provide
their own shape geometry or attribute editor, or customize the axis
object to generate their own labels. It is also possible to make a custom
driver to render data to a particular device or graphics format.
Built-in
editors
Carnac.NET comes with a number of built-in editors and GUI components,
including a colormap editor, an advanced print GUI component with print
preview, and attribute/properties editors for shapes.
Feature List
|
Model
View Controller Architecture
The data model, the views, and the actions on the data or view
are logically separated, allowing a single data model to be shared
between multiple views.
Separation
of Core and GUI Components allows
the toolkit to be targeted to different platforms and implementations
of .NET Framework (like Mono).
Hardcopy
Support
Full
support for printing, print previewing, export to CGM, EMF, and
raster images.
|
 |
|
Shapes
Lines, polylines, polygons, fixed and scalable texts, multi-line
texts, fixed and scalable images, ovals, symbols, arrows, grid
lines, axes, and custom shapes.
Attributes
Support for a complete set of GDI+ properties, including line
styles, fill patterns, and font properties. Sharing of attributes
among multiple shapes. Built-in attribute editor for pre-defined
shapes.
Shape
Containers
Support
for layers and models utilizing different containment mechanisms,
including list and quad-tree.
|
 |
Layering
Shapes within a model can be organized into layers. Views can be stacked
on top of each other.
|
Selection
A rich set of selection strategies including selection by point,
polygon, ellipse, rectangle, and region.
Editing
A rich set of manipulators to create or edit the geometry of the
shapes (moving, resizing, rotating, adding and removing of vertices).
The custom manipulators can be created by the user. The existing
manipulators can be customized or extended. Clipboard and drag
& drop support.
|
 |
|
Views
and Plots
A view
serves as a representation of data in a model. A view can be cached
to improve performance. Different cache strategies can be applied.
A plot provides the physical bounds for a view and managing of
clipping area. Plots can be organized into plot containers that
maintain certain layout of plots.
Transaction
Support optimizes
a number of repaints during invalidation of data.
High
Level Components
A number of high-level components like color map editor or attribute
editor are available for reuse in applications.
|
 |
|
Property
Editors
provides an infrastructure to easily build property editor dialogs
or modify pre-defined dialogs.
Tutorials
A rich set of tutorials to show the solution for typical tasks.
Serialization
Support for binary and XML serialization of data including shapes
with attributes, layers, and models.
Server-Side
Rendering
Export to raster images allows the user to create the ASP.NET
applications.
|
 |
.NET
Compact Framework Support
Carnac applications can be developed for Pocket PC and Windows based
smart phones using the Compact version of Carnac.NET. Please contact
INT to access a Community Technology Preview of the Compact Framework
version of Carnac.NET. |
|
|
Documentation
A complete set of documentation including API reference, architectural
overview, and tutorial overview.
|
|
A
Building Block For High-Level Components
Carnac.NET
provides a powerful infrastructure for developing high-level industry specific
graphic components. The following components, all built upon Carnac.NET, are currently
available:
Availability
Carnac.NET 2.2 is
available on 32bit or 64bit Windows platforms with .NET environment
version 2.0 or newer installed.