PhysicalModelLayer class

A composited layer that uses a physical model to producing lighting effects.

For example, the layer casts a shadow according to its geometry and the relative position of lights and other physically modeled objects in the scene.

When debugging, setting debugDisablePhysicalShapeLayers to true will cause this layer to be skipped (directly replaced by its children). This can be helpful to track down the cause of performance problems.

Inheritance

Constructors

PhysicalModelLayer({@required Path clipPath, Clip clipBehavior: Clip.none, @required double elevation, @required Color color, @required Color shadowColor })
Creates a composited layer that uses a physical model to producing lighting effects. [...]

Properties

clipBehavior Clip
The content will be clipped (or not) according to this option. [...]
read / write
clipPath Path
The path to clip in the parent's coordinate system. [...]
read / write
color Color
The background color. [...]
read / write
elevation double
The z-coordinate at which to place this physical object. [...]
read / write
shadowColor Color
The shadow color.
read / write
alwaysNeedsAddToScene bool
Subclasses may override this to true to disable retained rendering.
@protected, read-only, inherited
attached bool
Whether this node is in a tree whose root is attached to something. [...]
read-only, inherited
debugCreator ↔ dynamic
The object responsible for creating this layer. [...]
read / write, inherited
debugSubtreeNeedsAddToScene bool
Whether any layer in the subtree needs addToScene. [...]
@visibleForTesting, read-only, inherited
depth int
The depth of this node in the tree. [...]
read-only, inherited
firstChild Layer
The first composited layer in this layer's child list.
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
lastChild Layer
The last composited layer in this layer's child list.
read-only, inherited
nextSibling Layer
This layer's next sibling in the parent layer's child list.
read-only, inherited
owner Object
The owner for this node (null if unattached). [...]
read-only, inherited
parent ContainerLayer
This layer's parent in the layer tree. [...]
read-only, inherited
previousSibling Layer
This layer's previous sibling in the parent layer's child list.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

addToScene(SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) EngineLayer
Override this method to upload this layer to the engine. [...]
override
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
override
find<S>(Offset regionOffset) → S
Returns the value of S that corresponds to the point described by regionOffset. [...]
override
findAll<S>(Offset regionOffset) Iterable<S>
Returns an iterable of S values that corresponds to the point described by regionOffset on all layers under the point. [...]
override
addChildrenToScene(SceneBuilder builder, [ Offset childOffset = Offset.zero ]) → void
Uploads all of this layer's children to the engine. [...]
inherited
adoptChild(covariant AbstractNode child) → void
Mark the given node as being a child of this node. [...]
inherited
append(Layer child) → void
Adds the given layer to the end of this layer's child list.
inherited
applyTransform(Layer child, Matrix4 transform) → void
Applies the transform that would be applied when compositing the given child to the given matrix. [...]
inherited
attach(covariant Object owner) → void
Mark this node as attached to the given owner. [...]
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
inherited
debugMarkClean() → void
Mark that this layer is in sync with engine. [...]
@visibleForTesting, inherited
depthFirstIterateChildren() List<Layer>
Returns the descendants of this layer in depth first order.
@visibleForTesting, inherited
detach() → void
Mark this node as detached. [...]
inherited
dropChild(covariant AbstractNode child) → void
Disconnect the given node from this node. [...]
inherited
markNeedsAddToScene() → void
Mark that this layer has changed and addToScene needs to be called.
@protected, @visibleForTesting, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
redepthChild(AbstractNode child) → void
Adjust the depth of the given child to be greater than this node's own depth. [...]
@protected, inherited
redepthChildren() → void
Adjust the depth of this node's children, if any. [...]
inherited
remove() → void
Removes this layer from its parent layer's child list. [...]
@mustCallSuper, inherited
removeAllChildren() → void
Removes all of this layer's children from its child list.
inherited
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this object.
inherited
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode. [...]
inherited
updateSubtreeNeedsAddToScene() → void
Traverse the layer tree and compute if any subtree needs addToScene. [...]
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited