NGNode.DirtyFlag, NGNode.RenderRootResult| Modifier and Type | Field and Description |
|---|---|
private Blend.Mode |
blendMode
The blend mode to use with this group.
|
private java.util.List<NGNode> |
children |
private static int |
REGION_INTERSECTS_MASK
This mask has all bits that mark that a region intersects this group.
|
private java.util.List<NGNode> |
removed |
private java.util.List<NGNode> |
unmod |
childDirty, contentBounds, cullingBits, dirty, DIRTY_CHILDREN_ACCUMULATED_THRESHOLD, DIRTY_REGION_CONTAINS_NODE_BOUNDS, DIRTY_REGION_CONTAINS_OR_INTERSECTS_NODE_BOUNDS, DIRTY_REGION_INTERSECTS_NODE_BOUNDS, dirtyBounds, dirtyChildrenAccumulated, TEMP_TRANSFORM, transformedBounds| Constructor and Description |
|---|
NGGroup() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(int index,
NGNode node)
Adds a node to the given index.
|
void |
addToRemoved(NGNode n) |
void |
clear() |
protected void |
clearDirty()
Clears the dirty flag.
|
void |
clearFrom(int fromIndex) |
protected NGNode.RenderRootResult |
computeRenderRoot(NodePath path,
RectBounds dirtyRegion,
int cullingIndex,
BaseTransform tx,
GeneralTransform3D pvTx)
*
Culling Related Methods *
*
|
void |
drawDirtyOpts(BaseTransform tx,
GeneralTransform3D pvTx,
Rectangle clipBounds,
int[] countBuffer,
int dirtyRegionIndex)
Helper method draws rectangles indicating the overdraw rectangles.
|
java.util.List<NGNode> |
getChildren()
Gets an unmodifiable list of the current children on this group
|
java.util.List<NGNode> |
getRemovedChildren() |
protected boolean |
hasOverlappingContents() |
protected boolean |
hasVisuals()
Marks if the node has some visuals and that the bounds change
should be taken into account when using the dirty region.
|
boolean |
isEmpty() |
protected void |
markCullRegions(DirtyRegionContainer drc,
int cullingRegionsBitsOfParent,
BaseTransform tx,
GeneralTransform3D pvTx)
Marks placement of the node in dirty region encoded into 2 bit flag:
00 - node outside dirty region
01 - node intersecting dirty region
11 - node completely within dirty region
32 bits = 15 regions max.
|
protected boolean |
needsBlending()
Return true if this node has a blend mode that requires special
processing.
|
void |
remove(int index) |
void |
remove(NGNode node) |
protected void |
renderContent(Graphics g) |
void |
renderForcedContent(Graphics gOptional)
Called on every render pulse for all nodes in case they have render-time
operations that must be completed on a pulse, but were not otherwise
rendered by the ordinary damage management logic.
|
void |
setBlendMode(java.lang.Object blendMode)
Set by the FX scene graph.
|
accumulateDirtyRegions, accumulateGroupDirtyRegion, accumulateNodeDirtyRegion, applyClip, applyEffect, applyTransform, checkBoundsInQuad, clearDirtyTree, clearPainted, computeNodeRenderRoot, computeOpaqueRegion, computePadding, doPreCulling, doRender, effectChanged, geometryChanged, getCacheFilter, getClipNode, getClippedBounds, getCompleteBounds, getContentBounds, getEffect, getEffectBounds, getEffectFilter, getFilterContext, getName, getNodeBlendMode, getOpacity, getOpaqueRegion, getParent, getRenderRoot, getTransform, hasOpaqueRegion, invalidateCache, invalidateCacheByTranslation, invalidateOpaqueRegion, isClean, isContentBounds2D, isDepthTest, isOpaqueRegionInvalid, isReadbackSupported, isRectClip, isShape3D, isVisible, markDirty, markTreeDirty, markTreeDirtyNoIncrement, printDirtyOpts, release, render, renderClip, renderEffect, renderForClip, setCachedAsBitmap, setClipNode, setContentBounds, setDepthTest, setEffect, setName, setNodeBlendMode, setOpacity, setParent, setTransformedBounds, setTransformMatrix, setVisible, supportsOpaqueRegions, toString, visualsChangedprivate Blend.Mode blendMode
private java.util.List<NGNode> children
private java.util.List<NGNode> unmod
private java.util.List<NGNode> removed
private static final int REGION_INTERSECTS_MASK
public java.util.List<NGNode> getChildren()
public void add(int index,
NGNode node)
index - -1, or <= node.size()node - public void clearFrom(int fromIndex)
public java.util.List<NGNode> getRemovedChildren()
public void addToRemoved(NGNode n)
protected void clearDirty()
NGNodeclearDirty in class NGNodepublic void remove(NGNode node)
public void remove(int index)
public void clear()
public void setBlendMode(java.lang.Object blendMode)
blendMode - cannot be nullpublic void renderForcedContent(Graphics gOptional)
NGNoderenderForcedContent in class NGNodegOptional - the Graphics object that was used to render the
Scene, or nullprotected void renderContent(Graphics g)
renderContent in class NGNodeprotected boolean hasOverlappingContents()
hasOverlappingContents in class NGNodepublic boolean isEmpty()
protected boolean hasVisuals()
NGNodehasVisuals in class NGNodeprotected boolean needsBlending()
NGNodeneedsBlending in class NGNodeprotected NGNode.RenderRootResult computeRenderRoot(NodePath path, RectBounds dirtyRegion, int cullingIndex, BaseTransform tx, GeneralTransform3D pvTx)
computeRenderRoot in class NGNodepath - the NodePath to populate with the path to the render root. Cannot be null.dirtyRegion - the current dirty region. Cannot be null.cullingIndex - index of culling informationtx - current transform. Cannot be null.pvTx - current perspective transform. Cannot be null.protected void markCullRegions(DirtyRegionContainer drc, int cullingRegionsBitsOfParent, BaseTransform tx, GeneralTransform3D pvTx)
NGNodemarkCullRegions in class NGNodedrc - The array of dirty regions.cullingRegionsBitsOfParent - culling bits of parent. -1 if there's no parent.tx - The transform for this render operation. Cannot be null.pvTx - Perspective camera transform. Cannot be null.public void drawDirtyOpts(BaseTransform tx, GeneralTransform3D pvTx, Rectangle clipBounds, int[] countBuffer, int dirtyRegionIndex)
NGNodedrawDirtyOpts in class NGNodetx - The scene->parent transform.pvTx - The perspective camera transform.clipBounds - The bounds in scene coordinatescountBuffer - A pixel array where each pixel contains a color indicating how many times
it has been "drawn"dirtyRegionIndex - the index of the dirty region we're gathering information for. This is
needed so we can shift the "painted" field to find out if this node
was drawn in this dirty region.