UMD.HCIL.Piccolo Namespace

Piccolo.NET is a general-purpose c#-based engine that supports 2D visualizations. A primary characteristic of Piccolo.NET is that it is designed to support zoomable information spaces, although any particular applications may or may not take advantage of this feature. Piccolo is implemented entirely in C#, and as such runs identically on any platform that supports the CLR.

Piccolo is not an application in itself, but rather it is an engine that is designed to support applications that require the ability to create, manipulate, and render object-oriented graphics. If you are familiar with the terminology of 3D graphics, Piccolo supports a scenegraph. This is a data structure that represents a hierarchy of graphical objects. Piccolo uses a tuned run-time system to render the scenegraph as quickly as possible to support interactive applications.

This is the root namespace for all Piccolo classes. It contains the core scenegraph classes itself, and in addition, contains the Activities, Event, Nodes and Util namespaces that are used to build Piccolo applications.


PCameraPCamera represents a viewport onto a list of layer nodes.
PCamera.PCameraTransformTarget A target for a transform activity that gets and sets the matrix of the specified PCamera.
PCanvasPCanvas is a simple C# Control that can be used to embed Piccolo into a C# application.
PInputManagerPInputManager is responsible for dispatching PInputEvents to node's event listeners.
PLayerPLayer is a node that can be viewed directly by multiple camera nodes.
PNodePNode is the central abstraction in Piccolo. All objects that are visible on the screen are instances of the node class. All nodes may have other "child" nodes added to them.
PNode.PNodeBoundsActivity An activity that animates the target node's bounds from the source rectangle to the destination rectangle.
PNode.PNodeColorTarget A target for a color activity that gets and sets the color of the specified PNode.
PNode.PNodeTransformTarget A target for a transform activity that gets and sets the matrix of the specified PNode.
PRootPRoot serves as the top node in Piccolo's runtime structure.


InputSource This interface is for advanced use only. If you want to implement a different kind of input framework than Piccolo provides you can hook it in here.


FullBoundsInvalidatedDelegate A delegate that recieves low level full bounds invalidated events.
HighRenderQualityDelegate A delegate that is notified when Piccolo renders in high quality.
LowRenderQualityDelegate A delegate that is notified when Piccolo renders in low quality.
PaintInvalidatedDelegate A delegate that recieves low level paint invalidated events.
PInputEventHandler A delegate that is used to register for mouse and keyboard events on a PNode.
PPropertyEventHandler A delegate that is used to register for property change events on a PNode.
ProcessScheduledInputsDelegate A delegate used to invoke the ProcessScheduledInputs method on the main UI thread.


CameraViewConstraint This enumeration is used by the PCamera class. It represents the types of constraints that can be applied to a camera's view matrix.

Web Accessibility