﻿PNode Methods
 Piccolo.NET

# PNode Methods

The methods of the PNode class are listed below. For a complete list of PNode class members, see the PNode Members topic.

#### Public Static Methods

 Lerp Linearly interpolates between a and b, based on t. Specifically, it computes Lerp(a, b, t) = a + t*(b - a). This produces a result that changes from a (when t = 0) to b (when t = 1).

#### Public Instance Methods

 AddActivity Schedule the given activity with the root. AddChild Overloaded. Add a node to be a new child of this node at the specified index. AddChildren Overloaded. Add a list of nodes to be children of this node. AddInputEventListener Adds the specified input event listener to receive input events from this node. AnimateToBounds Animate this node's bounds from their current location when the activity starts to the specified bounds. AnimateToColor Animate this node's color from its current value to the new value specified. AnimateToMatrix Animate this node's matrix from its current values when the activity starts to the new values specified in the given matrix. AnimateToPositionScaleRotation Animate this node's matrix from its current location when the activity starts to the specified location, scale, and rotation. CenterBoundsOnPoint Adjust the bounds of this node so that they are centered on the given point specified in the local coordinate system of this node. CenterFullBoundsOnPoint Adjust the full bounds of this node so that they are centered on the given point specified in the local coordinates of this node's parent. Clone The copy method copies this node and all of its descendents. ComputeFullBounds Compute and return the full bounds of this node. EndResizeBounds Notify this node that you have finished a resize bounds sequence. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. FullIntersects Return true if the full bounds of this node intersect with the specified bounds. FullPaint Paint this node and all of its descendents. FullPick Try to pick this node and all of its descendents. GetAllNodes Gets a list containing the subset of this node and all of its descendent nodes that are accepted by the given node filter. GetChild Return the child node at the specified index. GetEnumerator Return an enumerator for this node’s direct descendent children. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetObjectData Write this node and all of its descendent nodes to the given SerializationInfo. GetType (inherited from Object) Gets the Type of the current instance. GlobalToLocal Overloaded. Transform the given rectangle from global coordinates to this node's local coordinate system. IndexOfChild Return the index where the given child is stored. Intersects Return true if this node intersects the given rectangle specified in local bounds. InvalidateFullBounds Invalidates the full bounds of this node, and sets the child bounds invalid flag on each of this node's ancestors. InvalidateLayout Invalidate this node's layout, so that later `LayoutChildren` will get called. InvalidatePaint Invalidate this node's paint, and mark all of its ancestors as having a node with invalid paint. IsAncestorOf Return true if this node is an ancestor of the parameter node. IsDescendentOf Return true if this node is a descendent of the parameter node. IsDescendentOfRoot Return true if this node is a descendent of the Root. IsOpaque LayoutChildren Nodes that apply layout constraints to their children should override this method and do the layout there. LocalToGlobal Overloaded. Transform the given rectangle from this node's local coordinate system to the global coordinate system. LocalToParent Overloaded. Transform the given rectangle from this node's local coordinate system to its parent's local coordinate system. MoveInBackOf Change the order of this node in its parent's children list so that it will draw before the given sibling node. MoveInFrontOf Change the order of this node in its parent's children list so that it will draw after the given sibling node. MoveToBack Change the order of this node in its parent's children list so that it will draw in back of all of its other sibling nodes. MoveToFront Change the order of this node in its parent's children list so that it will draw in front of all of its other sibling nodes. OffsetBy Offset this node relative to the parent's coordinate system. This is NOT affected by this node's current scale or rotation. OnClick Raises the Click event. OnDoubleClick Raises the DoubleClick event. OnDragDrop Raises the DragDrop event. OnDragEnter Raises the DragEnter event. OnDragLeave Raises the DragLeave event. OnDragOver Raises the DragOver event. OnGotFocus Raises the GotFocus event. OnKeyDown Raises the KeyDown event. OnKeyPress Raises the KeyPress event. OnKeyUp Raises the KeyUp event. OnLostFocus Raises the LostFocus event. OnMouseDown Raises the MouseDown event. OnMouseDrag Raises the MouseDrag event. OnMouseEnter Raises the MouseEnter event. OnMouseLeave Raises the MouseLeave event. OnMouseMove Raises the MouseMove event. OnMouseUp Raises the MouseUp event. OnMouseWheel Raises the MouseWheel event. ParentBoundsChanged A notification that the bounds of this node's parent have changed. ParentToLocal Overloaded. Transform the given rectangle from this node's parent's local coordinate system to the local coordinate system of this node. Position Animate this node's matrix to one that will make this node appear at the specified position relative to the specified bounding box. Print Constructs a new PrintDocument, allows the user to select which printer to print to, and then prints the node. RemoveAllChildren Remove all the children from this node. RemoveChild Overloaded. Remove the child at the specified position from this node's children. RemoveChildren Overloaded. Remove all the children in the given list from this node’s list of children. RemoveFromParent Delete this node by removing it from its parent’s list of children. RemoveInputEventListener Removes the specified input event listener so that it no longer receives input events from this node. Repaint Mark the area on the screen represented by this node's full bounds as needing a repaint. RepaintFrom Pass the given repaint request up the tree, so that any cameras can invalidate that region on their associated canvas. Reparent Set the parent of this node, and transform the node in such a way that it doesn't move in global coordinates. ReplaceWith Swaps this node out of the scene graph tree, and replaces it with the specified replacement node. ResetBounds Set the bounds of this node back to an empty rectangle. RotateBy Overloaded. Rotates this node by theta (in degrees) about the given point. RotateInPlace Rotates this node by theta (in degrees), and then translates the node so that the x, y position of its fullBounds stays constant. ScaleBy Overloaded. Scale this node's matrix by the given amount about the specified point. SetBounds Set the bounds of this node to the given values. SetOffset Sets the offset applied to this node by it's matrix. SignalBoundsChanged This method should be called when the bounds of this node are changed. StartResizeBounds Notify this node that you will begin to repeatedly call `SetBounds`. ToImage Overloaded. Return a new Image of the requested size representing this node and all of its children. ToPickPath Overloaded. Creates a pick path with the given Camera and pickbounds and adds this node. ToString Returns a string representation of this object for debugging purposes. TransformBy Transform this node's matrix by the given matrix. TranslateBy Translate this node's matrix by the given amount, using the standard matrix `Translate` method. ValidateFullPaint Repaint this node and any of its descendents if they have invalid paint.

#### Protected Instance Methods

 AddChildren Overloaded. Add a collection of nodes to be children of this node. Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. FirePropertyChangedEvent Raise the given property change event. HandleEvent Raise the given input event. InternalUpdateBounds Gives nodes a chance to update their internal structure before bounds changed notifications are sent. When this message is received, the node's bounds field will contain the new value. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object. Paint Paint this node behind any of its children nodes. PaintAfterChildren Subclasses that wish to do additional painting after their children are painted should override this method and do that painting here. Pick Try to pick this node before its children have had a chance to be picked. PickAfterChildren Try to pick this node after its children have had a chance to be picked. printDocument_PrintPage Prints the node into the given Graphics context. RemoveChildren Overloaded. Remove all the children in the given collection from this node’s list of children. ScaleAndDraw Scale the Graphics so that this node's full bounds fit in displayRect and then render into the given Graphics context. ValidateFullBounds This method is called to validate the bounds of this node and all of its descendents.