[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [scene](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene) / [CompositeNode](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode) / CompositeNode

# Class: CompositeNode<T&gt;

[scene](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene).[CompositeNode](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode).CompositeNode

A CompositeNode is a container for other nodes. Nodes/Children can be added/removed/inserted at any time.<br>
When clipping is enabled shapes will not be rendered outside the bounds of the composite node. Clipping children is based on the composite bounds.<br>
New clipping style can be set using setClipStyle() and it replaces the bounds clipping. If bounds clipping is disabled the new clip style will still be applied for the children.

## Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) = [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) |


## Hierarchy

- [`AbstractNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode)
↳ **`CompositeNode`**
↳↳ [`PyramidChart`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.shapes-1.pyramidchart.pyramidchart)
↳↳ [`DeviatedCompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.scene-1.deviatedcompositenode.deviatedcompositenode)
↳↳ [`DeviatedHeader`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.scene-1.deviatedheader.deviatedheader)
↳↳ [`Layer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.layer.layer)
↳↳ [`LayeredNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.layerednode.layerednode)
↳↳ [`MarkerSet`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.markerset.markerset)


## Implements

- [`INodeEnumerable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.inodeenumerable.inodeenumerable)


## Table of contents

Constructors
- [new CompositeNode<T&gt;(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.scene.compositenode.compositenode.md#new compositenode<t>(options))


Methods
| [addChild](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#addchild) | [addCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#addcssclass) | [addInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#addinvalidatehandler) |
|  --- | --- | --- |
| [adjustPosition](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#adjustposition) | [applyOpacity](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#applyopacity) | [applyResponsiveStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#applyresponsivestyle) |
| [changeChildOrder](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#changechildorder) | [checkCollision](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#checkcollision) | [clearChildren](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#clearchildren) |
| [clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#clone) | [connectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#connectstyle) | [copyConstructor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#copyconstructor) |
| [disconnectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#disconnectstyle) | [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#dispose) | [enableClipping](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#enableclipping) |
| [enableEventPropagation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#enableeventpropagation) | [enumerateNodes](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#enumeratenodes) | [execute](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#execute) |
| [filter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#filter) | [getAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getanimationstyle) | [getBounds](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getbounds) |
| [getChild](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getchild) | [getChildren](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getchildren) | [getChildrenCount](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getchildrencount) |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getclassname) | [getClipStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getclipstyle) | [getContentsArea](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getcontentsarea) |
| [getContentsTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getcontentstransform) | [getCss](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getcss) | [getCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getcssclass) |
| [getCssClasses](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getcssclasses) | [getCssTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getcsstransform) | [getDeviceLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getdevicelimits) |
| [getId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getid) | [getInfiniteMode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getinfinitemode) | [getInvalidateMethod](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getinvalidatemethod) |
| [getLocalTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getlocaltransform) | [getMarginsStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getmarginsstyle) | [getModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getmodellimits) |
| [getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getname) | [getOpacity](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getopacity) | [getOpacityBlendMode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getopacityblendmode) |
| [getParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getparent) | [getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getproperties) | [getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getproperty) |
| [getPropertyKeys](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getpropertykeys) | [getRenderingFilter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getrenderingfilter) | [getResponsiveStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getresponsivestyle) |
| [getRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getroot) | [getScaleScrollStrategy](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getscalescrollstrategy) | [getSceneTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getscenetransform) |
| [getTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#gettag) | [getVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getvisible) | [getVisibleDeviceLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getvisibledevicelimits) |
| [getVisibleModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getvisiblemodellimits) | [getWorldTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getworldtransform) | [getZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getzindex) |
| [hasCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#hascssclass) | [hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#haseventlistener) | [indexOfChild](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#indexofchild) |
| [insertChild](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#insertchild) | [invalidate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#invalidate) | [invalidateParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#invalidateparent) |
| [isClippingEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#isclippingenabled) | [isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#isdisposed) | [isEventPropagationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#iseventpropagationenabled) |
| [isHorizontalFlip](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#ishorizontalflip) | [isNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#isnotificationenabled) | [isSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#isselectable) |
| [isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#issilent) | [isVerticalFlip](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#isverticalflip) | [moveTo](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#moveto) |
| [notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#notify) | [notifyRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#notifyroot) | [off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#off) |
| [on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#on) | [onChildAdded](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#onchildadded) | [onChildRemoved](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#onchildremoved) |
| [onParentChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#onparentchanged) | [onVisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#onvisibilitychanged) | [postRendering](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#postrendering) |
| [preRendering](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#prerendering) | [registerAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#registeranimationstyle) | [removeChild](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#removechild) |
| [removeCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#removecssclass) | [removeInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#removeinvalidatehandler) | [render](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#render) |
| [renderAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#renderasync) | [renderChildren](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#renderchildren) | [renderChildrenAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#renderchildrenasync) |
| [renderContent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#rendercontent) | [renderContentAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#rendercontentasync) | [rotate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#rotate) |
| [scale](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#scale) | [setAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setanimationstyle) | [setChild](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setchild) |
| [setClipStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setclipstyle) | [setCss](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setcss) | [setCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setcssclass) |
| [setCssTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setcsstransform) | [setId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setid) | [setInfiniteMode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setinfinitemode) |
| [setLocalTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setlocaltransform) | [setMarginsStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setmarginsstyle) | [setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setname) |
| [setNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setnotification) | [setOpacity](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setopacity) | [setParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setparent) |
| [setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setproperties) | [setProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setproperty) | [setRenderingFilter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setrenderingfilter) |
| [setResponsiveStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setresponsivestyle) | [setScaleScrollStrategy](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setscalescrollstrategy) | [setSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setselectable) |
| [setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setsilent) | [setTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#settag) | [setVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setvisible) |
| [setVisibleModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setvisiblemodellimits) | [setZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#setzindex) | [shear](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#shear) |
| [toString](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#tostring) | [translate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#translate) | [unregisterAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#unregisteranimationstyle) |
| [updateSceneTransformation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#updatescenetransformation) | [updateState](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#updatestate) | [updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#updatetimestamp) |
| [enableSceneGraphNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#enablescenegraphnotification) | [findParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#findparent) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#getclassname-1) |
| [isSceneGraphNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#isscenegraphnotificationenabled) |


Css Properties
| Name  | Type  | Description |
|  --- | --- | --- |
| `clipping` | `boolean` | Enable clipping, this does not consider the clipstyle, it is related to bounds-clipping |
| `clipstyle` | [`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle#css-props) | Clipping style |
| `clipstyle-evenodd` | `boolean` | True if evenodd mode is on (&#x27;nonzero&#x27; mode otherwise) |
| `clipstyle-geometry` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath#css-props) | Clipping geometry |
| `clipstyle-geometry-bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect#css-props) | Bounds |
| `clipstyle-geometry-bounds-height` | `number` | Height |
| `clipstyle-geometry-bounds-readonly` | `boolean` | Readonly |
| `clipstyle-geometry-bounds-width` | `number` | Width |
| `clipstyle-geometry-bounds-x` | `number` | Left |
| `clipstyle-geometry-bounds-y` | `number` | Top |
| `clipstyle` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath#css-props) | Clipping style |
| `cssclass` | `string` | The css class name of this node |
| `csscursor` | `string` | CSS cursor associated with node |
| `cssstyle` | `string` | CSS style to be applied to inserted elements |
| `id` | `string | number` | Id of the node, its a unique identifier |
| `infinity` | `boolean` | Mode to render outside the model limits |
| `localtransform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Local transformation |
| `localtransform-dx` | `number` | X axis translation |
| `localtransform-dy` | `number` | Y axis translation |
| `localtransform-xx` | `number` | X scale |
| `localtransform-xy` | `number` | Xy skew |
| `localtransform-yx` | `number` | Yx skew |
| `localtransform-yy` | `number` | Y scale |
| `margins` | `number | string` | It has properties for specifying the margins for each side |
| `name` | `string` | Name of the node. It is often used for debugging purposes or to simplify queries |
| `opacity` | `number` | Node opacity (from 0 to 1). If it is undefined or null it inherits property from the parent.
It changes globalAlpha on the rendering context |
| `opacityblendmode` | [`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode#blendmode) | Node opacity mode to blend it |
| `scalescrollstrategy` | [`ScaleScrollStrategy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.scalescrollstrategy.scalescrollstrategy#css-props) | Scale scroll strategy |
| `scalescrollstrategy-enabled` | `boolean` | Enable flag |
| `selectable` | `boolean` | Selectable node, a boolean to determine if selection should consider this node |
| `tag` | `any` | Custom information associated with node. It is a user object which can be used by client code to store information or attach an application object to the shape |
| `transform` | `string` | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `transform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `visible` | `boolean` | Visibility of the node, a boolean to determine if the node should be rendered or not |
| `z-index` | `number` | Define node z-index |


## Contents

Constructors
#### new CompositeNode&lt;T&amp;gt;(options)

• **new CompositeNode**<`T`&gt;(`options?`)

Create composite node

#### Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)<`T`&gt; = [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#options)<`T`&gt; | options |


#### Overrides

AbstractNode.constructor

Methods
#### addChild

▸ **addChild**(`node`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Add a child node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | `T` | `T`[] | [`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<`T`&gt; | the child node to be added |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### addCssClass

▸ **addCssClass**(`cssclass`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Adds new css class to node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cssclass` | `string` | `string`[] | css class name('s) |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[addCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#addcssclass)

#### addInvalidateHandler

▸ **addInvalidateHandler**(`handler`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Add invalidate handler

**`Deprecated`**

since 4.0, use Node.on instead

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handler` | `Function` | handler to be notified about invalidation |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[addInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#addinvalidatehandler)

#### adjustPosition

▸ **adjustPosition**(`area?`, `vAlign?`, `hAlign?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Adjust position of node to specified area

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `area` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | specified area. Default to Parent Model Limits |
| `Optional` `vAlign` | `string` | vertical alignment. It can be &quot;top&quot;, &quot;bottom&quot;, &quot;center&quot;. Defaults to &quot;top&quot;. |
| `Optional` `hAlign` | `string` | horizontal alignment It can be &quot;left&quot;, &quot;right&quot;, &quot;center&quot;. Defaults to &quot;left&quot;. |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### applyOpacity

▸ `Protected` **applyOpacity**(`context`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

This method is called to apply opacity if it is specified on the rendering context. The default
implementation sets global alpha on the rendering context

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[applyOpacity](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#applyopacity)

#### applyResponsiveStyle

▸ `Protected` **applyResponsiveStyle**(): `void`

Apply a responsive style rules it is exists

#### Returns

`void`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[applyResponsiveStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#applyresponsivestyle)

#### changeChildOrder

▸ **changeChildOrder**(`node`, `order`, `anchor?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

changes the z-order of the nodes being rendered.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | `T` | any child added in the Composite node |
| `order` | [`NodeOrder`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#nodeorder) | position to be added |
| `Optional` `anchor` | `T` | anchor node to specify changeOrder with respect to this node |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### checkCollision

▸ **checkCollision**(`context`): `boolean`

Check culling
Returns true if object is inside of renderable area

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

`boolean`

true if node is collided

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[checkCollision](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#checkcollision)

#### clearChildren

▸ **clearChildren**(`disposeChildren?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Remove all child nodes from this composite group

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `disposeChildren` | `boolean` | automatically dispose children. If it is true then method dispose is called for each child. |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### clone

▸ **clone**(): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;

All subclasses should override copyConstructor or provide custom implementation for this method

#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;

clone

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#clone)

#### connectStyle

▸ **connectStyle**(`style`, `type`, `callback`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Connects style.<br>
<br>
This convenience method subscribes a listener to given style for the specified type.<br>
And automatically un-subscribes listener if node is disposed to prevent memory leaks

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher) | connect style |
| `type` | `string` | type of event or property |
| `callback` | [`AttributeCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#istylelistener#attributecallback)<[`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)&gt; | function to be called |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[connectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#connectstyle)

#### copyConstructor

▸ `Protected` **copyConstructor**(`src`, `deepCopy?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Copy constructor function.<br>
Function used as part of the cloning mechanism.<br>
Implementations should copy the given instance state to this instance.<br>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `src` | [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | Source to copy from |
| `Optional` `deepCopy` | `boolean` | deep copy |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[copyConstructor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#copyconstructor)

#### disconnectStyle

▸ **disconnectStyle**(`style`, `type`, `callback`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Disconnect style
<br>
This convenience method un-subscribes a listener to given style for the specified type.<br>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher) | connect style |
| `type` | `string` | type of event or property |
| `callback` | [`AttributeCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#istylelistener#attributecallback)<[`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)&gt; | function to be called |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[disconnectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#disconnectstyle)

#### dispose

▸ **dispose**(): `void`

Dispose node. Clear all listeners and disconnect style to avoid memory leaks

#### Returns

`void`

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#dispose)

#### enableClipping

▸ **enableClipping**(`doClip`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Enables or disables clipping of this node. If enabled,
shapes will not be rendered outside of its bounds.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `doClip` | `boolean` | enable clipping on this node |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### enableEventPropagation

▸ **enableEventPropagation**(`enable`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Enable event propagation from the node hierarchy from bottom to top
<p>
This option is similar to DOM Event bubbling, which allows
to get any event from child node. By default it is disabled
for better performance.
</p>

**`Example`**

```ts
import {Group} from '@int/geotoolkit/scene/Group';
import {Events as SceneEvents} from '@int/geotoolkit/scene/Node';
const parentGroup = new Group()
.setName('ParentGroup')
.enableEventPropagation(true);
const childGroup = new Group()
.setName('ChildGroup');

parentGroup.addChild(childGroup);
parentGroup.on(SceneEvents.Invalidate, (eventName, sender, args) =&gt; {
// Got notifications from all children of parent group
});
childGroup.invalidate();
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `enable` | `boolean` | enable |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[enableEventPropagation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#enableeventpropagation)

#### enumerateNodes

▸ **enumerateNodes**(`callback`, `target?`): `void`

Executes a provided function once for each child node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `callback` | [`Callback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#inodeenumerable#callback)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | provided function |
| `Optional` `target` | [`QueryBuilder`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.selection.querybuilder.querybuilder)<`any`&gt; | target to pass to callback as a second parameter |


#### Returns

`void`

#### Implementation of

[INodeEnumerable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.inodeenumerable.inodeenumerable).[enumerateNodes](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.inodeenumerable.inodeenumerable#enumeratenodes)

#### execute

▸ **execute**(`delegate`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Executes delegate and return the result. It allows us to keep all initialization calls in one place, <br>
and we do not need to scroll up or down in IDE to find how and where it was initialized.

**`Example`**

```ts
// All setters (.setName() for example) returns reference to the this.
// In order to modify inner object like LineStyle or Pattern, to get this object (property) we should call getter to get object reference.
// Then modify it as shown below in Option 1 or you can use execute methods shown in Option 2.
import {Group} from '@int/geotoolkit/scene/Group';
import {Rect} from '@int/geotoolkit/util/Rect';
// Option 1
const group = new Group()
.setName('MyGroup')
.setBounds(new Rect(0, 0, 42, 16))
.enableClipping(true)
.setTag({'type': 'sometype'});

group.getLineStyle().setPattern('pattern');
return group;

// Options 2 ( using execute method )
return group
.execute(function () {
this.getLineStyle()
.setPattern("pattern");
});
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `delegate` | (`this`: [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;) => `void` | Function to execute |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

The result if any or this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[execute](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#execute)

▸ **execute**<`T`&gt;(`delegate`): `T`

#### Type parameters

| Name |
|  --- |
| `T` |


#### Parameters

| Name  | Type  |
|  --- | --- |
| `delegate` | (`this`: [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;) => `T` |


#### Returns

`T`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[execute](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#execute)

#### filter

▸ `Protected` **filter**(`context`): `boolean`

Filter node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

`boolean`

flag filter flag ("true" to render node; "false" otherwise)

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[filter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#filter)

#### getAnimationStyle

▸ **getAnimationStyle**(): [`AnimationStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.animationstyle.animationstyle)

Return animation style

#### Returns

[`AnimationStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.animationstyle.animationstyle)

animationStyle current animation style

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getanimationstyle)

#### getBounds

▸ **getBounds**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Gets bounds in the parent coordinates

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getChild

▸ **getChild**(`i`): `T`

Return node by index

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `i` | `number` | index of the node |


#### Returns

`T`

#### getChildren

▸ **getChildren**<`S`&gt;(`predicate`, `modify?`): [`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<`S`&gt;

Return iterator by child nodes

#### Type parameters

| Name | Type |
|  --- | --- |
| `S` | extends [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)<`S`&gt; |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `predicate` | (`value`: `T`) => value is S | a filter function |
| `Optional` `modify` | `boolean` | An option to specify if the iterator supports adding/removing items from the collection. `false` by default. |


#### Returns

[`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<`S`&gt;

▸ **getChildren**(`filter?`, `modify?`): [`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<`T`&gt;

Returns an iterator for child nodes.
The iterator does not support adding or deleting items from children by default. If it is
necessary to modify a collection of children, pass `true` as the last parameter.

**`Example`**

```ts
// Gets a writable iterator
const it = node.getChildren(null, true);
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `filter` | (`node`: `T`) => `boolean` | A filter function. Returns all nodes if `null`. |
| `Optional` `modify` | `boolean` | An option to specify if the iterator supports adding/removing items from the collection. `false` by default. |


#### Returns

[`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<`T`&gt;

An iterator for child nodes.

#### getChildrenCount

▸ **getChildrenCount**(): `number`

Return number of child nodes

#### Returns

`number`

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getclassname)

#### getClipStyle

▸ **getClipStyle**(): [`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle)

Gets the current clipping style

#### Returns

[`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle)

clipping style

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getClipStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getclipstyle)

#### getContentsArea

▸ **getContentsArea**(`transformation?`): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Return area of content. By default it is equal to bounds.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `transformation` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | scene transformation |


#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getContentsTransform

▸ **getContentsTransform**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

Transformation of inner contents to content area

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

#### getCss

▸ **getCss**(): [`CssStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.css-1.cssstyle.cssstyle)

Return CSS style

#### Returns

[`CssStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.css-1.cssstyle.cssstyle)

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getCss](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getcss)

#### getCssClass

▸ **getCssClass**(): `string`

Returns css class name to be used to apply CSS style

#### Returns

`string`

the css class name

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getcssclass)

#### getCssClasses

▸ **getCssClasses**(): `string`[]

Gets list of css class names which applied to this node

#### Returns

`string`[]

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getCssClasses](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getcssclasses)

#### getCssTransform

▸ **getCssTransform**(): `string`

Returns CSS transformation

#### Returns

`string`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getCssTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getcsstransform)

#### getDeviceLimits

▸ **getDeviceLimits**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Return device limits

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getId

▸ **getId**(): `string` | `number`

Returns the associated identifier of the node

#### Returns

`string` | `number`

The node's id

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getid)

#### getInfiniteMode

▸ **getInfiniteMode**(): `boolean`

Return infinity mode flag

#### Returns

`boolean`

flag

#### getInvalidateMethod

▸ `Protected` **getInvalidateMethod**(): [`AttributeCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#istylelistener#attributecallback)<[`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)&gt;

Gets invalidate method

#### Returns

[`AttributeCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#istylelistener#attributecallback)<[`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)&gt;

method to invalidate this object

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getInvalidateMethod](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getinvalidatemethod)

#### getLocalTransform

▸ **getLocalTransform**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

Retrieves the transformation of bounds to parent

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

transform the local transform.

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getLocalTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getlocaltransform)

#### getMarginsStyle

▸ **getMarginsStyle**(): [`SpaceStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.spacestyle.spacestyle)<`string` | `number`&gt;

Return margins style

#### Returns

[`SpaceStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.spacestyle.spacestyle)<`string` | `number`&gt;

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getMarginsStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getmarginsstyle)

#### getModelLimits

▸ **getModelLimits**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Return model limits. (By default it returns null)

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getName

▸ **getName**(): `string`

Returns the node name

#### Returns

`string`

The node name

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getname)

#### getOpacity

▸ **getOpacity**(): `number`

Returns current node opacity

#### Returns

`number`

opacity

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getOpacity](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getopacity)

#### getOpacityBlendMode

▸ **getOpacityBlendMode**(): [`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode)

Returns current node opacity

#### Returns

[`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode)

opacity blend mode

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getOpacityBlendMode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getopacityblendmode)

#### getParent

▸ **getParent**(): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Return parent node

#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

parent node

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getparent)

#### getProperties

▸ **getProperties**(`context?`): [`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#optionsout)<`T`&gt;

Gets all the properties pertaining to this object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `context` | [`ISerializationContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.persistence.iserializationcontext.iserializationcontext) | serialization context |


#### Returns

[`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#optionsout)<`T`&gt;

properties object

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getproperties)

#### getProperty

▸ **getProperty**(`name`): `any`

Gets dynamic property by name. These properties can be
used as a property bags

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | property name |


#### Returns

`any`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getproperty)

#### getPropertyKeys

▸ **getPropertyKeys**(): `string`[]

Returns known properties keys

#### Returns

`string`[]

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getPropertyKeys](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getpropertykeys)

#### getRenderingFilter

▸ **getRenderingFilter**(): [`IFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.ifilter.ifilter)

Return filter to be used for rendering and picking

#### Returns

[`IFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.ifilter.ifilter)

current filter

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getRenderingFilter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getrenderingfilter)

#### getResponsiveStyle

▸ **getResponsiveStyle**(): [`ResponsiveStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.responsive.responsivestyle.responsivestyle)

Return responsive style

#### Returns

[`ResponsiveStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.responsive.responsivestyle.responsivestyle)

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getResponsiveStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getresponsivestyle)

#### getRoot

▸ **getRoot**(): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Returns root node. <br>
If node doesn't have parent then it returns itself.

#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

the root node

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getroot)

#### getScaleScrollStrategy

▸ **getScaleScrollStrategy**(): [`Delegate`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#scalescrollstrategy#delegate)

Gets scale scroll strategy

#### Returns

[`Delegate`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#scalescrollstrategy#delegate)

scale scroll strategy

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getScaleScrollStrategy](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getscalescrollstrategy)

#### getSceneTransform

▸ **getSceneTransform**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

Returns transformation from node to root scene

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

a transformation from node to root scene

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getSceneTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getscenetransform)

#### getTag

▸ **getTag**(): `any`

Returns the object associated with the node by user.

#### Returns

`any`

The node's user-object

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#gettag)

#### getVisible

▸ **getVisible**(): `boolean`

Return visibility of the node

#### Returns

`boolean`

true if node is visible

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getvisible)

#### getVisibleDeviceLimits

▸ **getVisibleDeviceLimits**(`ignoreModelLimits?`): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Return visible device limits

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `ignoreModelLimits` | `boolean` | flag defines whether to ignore ModelLimits or not |


#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getVisibleModelLimits

▸ **getVisibleModelLimits**(`ignoreModelLimits?`): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Return visible model limits

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `ignoreModelLimits` | `boolean` | flag defines whether to ignore ModelLimits or not |


#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### getWorldTransform

▸ **getWorldTransform**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

Retrieves the local transformation of the node which represents multiplication of parent to bounds and
contents transformations.

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getWorldTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getworldtransform)

#### getZIndex

▸ **getZIndex**(): `number`

Returns node z-index (null if not set)

#### Returns

`number`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getzindex)

#### hasCssClass

▸ **hasCssClass**(`cssClass`): `boolean`

Check if node has specified css class

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cssClass` | `string` | css class name |


#### Returns

`boolean`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[hasCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#hascssclass)

#### hasEventListener

▸ **hasEventListener**(`type`, `callback?`): `boolean`

Check if a list of event listeners for this type contains this listener

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `string` | type of event or property |
| `Optional` `callback` | `Function` | to be called, if null, check if any callback is registered |


#### Returns

`boolean`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#haseventlistener)

#### indexOfChild

▸ **indexOfChild**(`node`): `number`

Return index of child
( index of the specified child or -1 if node is not found)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | `T` | node to check index |


#### Returns

`number`

#### insertChild

▸ **insertChild**(`index`, `node`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Insert child node at specified index

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `index` | `number` | specified index |
| `node` | `T` | a child node to add |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### invalidate

▸ **invalidate**(`bounds?`, `force?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Invalidate area of the shape.  This method invalidates parent by default. invalidated from parent to root node.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | bounds of the invalid rectangle in the inner node coordinates |
| `Optional` `force` | `boolean` | true if parent should be invalidated immediately if null is provided then cache (if any will be completely refreshed) otherwise only specified rect or node.bounds will be refreshed |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[invalidate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#invalidate)

#### invalidateParent

▸ `Protected` **invalidateParent**(`bounds?`, `force?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Invalidate parent and notify all listeners.
NOTE: Don't keep arguments of the event, because instance can be changed

**`Fires`**

[Events.Invalidate](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#events#invalidate)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | bounds of the invalid rectangle in the inner node coordinates |
| `Optional` `force` | `boolean` | force rendering |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[invalidateParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#invalidateparent)

#### isClippingEnabled

▸ **isClippingEnabled**(): `boolean`

Returns if clipping is enabled or not for this node.

#### Returns

`boolean`

#### isDisposed

▸ **isDisposed**(): `boolean`

Returns whether this object has been disposed

#### Returns

`boolean`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#isdisposed)

#### isEventPropagationEnabled

▸ **isEventPropagationEnabled**(): `boolean`

Return true if event propagation is enabled from child to parent

#### Returns

`boolean`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[isEventPropagationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#iseventpropagationenabled)

#### isHorizontalFlip

▸ **isHorizontalFlip**(): `boolean`

Return true if the representation is flipped horizontally

#### Returns

`boolean`

#### isNotificationEnabled

▸ **isNotificationEnabled**(): `boolean`

return state of notification

#### Returns

`boolean`

current notification state

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[isNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#isnotificationenabled)

#### isSelectable

▸ **isSelectable**(): `boolean`

Returns true if node can be picked/selected.

#### Returns

`boolean`

The selectable flag

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[isSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#isselectable)

#### isSilent

▸ **isSilent**(): `boolean`

Return true if the event dispatcher doesn't notify any events

#### Returns

`boolean`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#issilent)

#### isVerticalFlip

▸ **isVerticalFlip**(): `boolean`

Return true if the representation is flipped vertically

#### Returns

`boolean`

#### moveTo

▸ **moveTo**(`area`, `vAlign?`, `hAlign?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

MoveTo position of node to specified area

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `area` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | specified area |
| `Optional` `vAlign` | `string` | vertical alignment. It can be &quot;top&quot;, &quot;bottom&quot;, &quot;center&quot;. |
| `Optional` `hAlign` | `string` | horizontal alignment It can be &quot;left&quot;, &quot;right&quot;, &quot;center&quot;. |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### notify

▸ **notify**<`E`&gt;(`event`, `source`, `args?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Notify listeners of the Node

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `E` | type of event |
| `source` | [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | source who called the event |
| `Optional` `args` | [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#eventmap)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;[`E`] | event arguments |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#notify)

#### notifyRoot

▸ `Protected` **notifyRoot**(`event`, `source`, `args?`): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Notify an even to root node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `string` | type of event |
| `source` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | source who called the event |
| `Optional` `args` | `any` | event arguments |


#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

this

#### off

▸ **off**<`E`&gt;(`type?`, `callback?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Detach listener on event.
Calling .off() with no arguments removes all attached listeners.
Calling .off(type) with no callback removes all attached listeners for specific type.

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `type` | `E` | type of the event |
| `Optional` `callback` | (`eventType`: `E`, `sender`: [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;, `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#eventmap)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;[`E`]) => `void` | function to be called |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#off)

#### on

▸ **on**<`E`&gt;(`type`, `callback`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Attach listener on event that will be called whenever the specified event is delivered to the target
<p>
If the callback function is already in the list of event listeners for this target,
the function is not added a second time.
</p>
<p>
If a particular anonymous function is in the list of event listeners registered for a
certain target, and then later in the code, an identical anonymous function is given
in an "on" call, the second function will also be added to the list of
event listeners for that target.
</p>

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event or property |
| `callback` | (`eventType`: `E`, `sender`: [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;, `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#eventmap)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;[`E`]) => `void` | to be called |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#on)

#### onChildAdded

▸ `Protected` **onChildAdded**(`child`): `void`

This method is called it child or children are added

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `child` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | [`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | added child |


#### Returns

`void`

#### onChildRemoved

▸ `Protected` **onChildRemoved**(`child`): `void`

This method is called it child or children are removed

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `child` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | removed child |


#### Returns

`void`

#### onParentChanged

▸ `Protected` **onParentChanged**(`node`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

This method is called when parent changes. Do not call it directly.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | `T` | node to change parent |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[onParentChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#onparentchanged)

#### onVisibilityChanged

▸ `Protected` **onVisibilityChanged**(): `void`

This method is called if visibility is changed.  Send event [Events.VisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#events#visibilitychanged)

#### Returns

`void`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[onVisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#onvisibilitychanged)

#### postRendering

▸ `Protected` **postRendering**(`context`, `callback?`): `void`

To be called after rendering, used for PDF output

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |
| `Optional` `callback` | () => `void` | callback to be called after rendering |


#### Returns

`void`

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[postRendering](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#postrendering)

#### preRendering

▸ `Protected` **preRendering**(`context`, `callback?`): `void`

Occurs before child rendering

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |
| `Optional` `callback` | () => `void` | callback to be called after rendering of geometry |


#### Returns

`void`

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[preRendering](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#prerendering)

#### registerAnimationStyle

▸ **registerAnimationStyle**(`root`): `void`

Register animation style.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `root` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | root node for node |


#### Returns

`void`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[registerAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#registeranimationstyle)

#### removeChild

▸ **removeChild**(`node`, `disposeChildren?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Remove child node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | `T` | `T`[] | node or array of nodes to be removed |
| `Optional` `disposeChildren` | `boolean` | automatically dispose children. If it is true then method dispose is called for each child. |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### removeCssClass

▸ **removeCssClass**(`cssclass`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Removes css class from node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cssclass` | `string` | `string`[] | css class name('s) |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[removeCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#removecssclass)

#### removeInvalidateHandler

▸ **removeInvalidateHandler**(`handler`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Remove invalidate handler

**`Deprecated`**

since 4.0, use Node.off instead

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handler` | `Function` | handler to be notified about invalidation |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[removeInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#removeinvalidatehandler)

#### render

▸ **render**(`context`): `void`

Render composite node and children

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

`void`

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[render](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#render)

#### renderAsync

▸ **renderAsync**(`context`, `callback`): `void`

Render node in asynchronous mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | The rendering context to be used to draw the node |
| `callback` | () => `void` | callback function |


#### Returns

`void`

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[renderAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#renderasync)

#### renderChildren

▸ `Protected` **renderChildren**(`context`): `void`

Render children

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

`void`

#### renderChildrenAsync

▸ `Protected` **renderChildrenAsync**(`context`, `callback`): `void`

Render children async

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |
| `callback` | () => `void` | callback function to be called then all children are rendered |


#### Returns

`void`

#### renderContent

▸ `Protected` **renderContent**(`context`): `void`

render to specified context. This method calls preRendering, renderChildren, postRendering

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

`void`

#### renderContentAsync

▸ `Protected` **renderContentAsync**(`context`, `callback`): `void`

Render children in asynchronous mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | The rendering context to be used to draw the node |
| `callback` | () => `void` | callback function to be called then all children are rendered |


#### Returns

`void`

#### rotate

▸ **rotate**(`theta`, `x`, `y`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Rotate bounds around a given coordinate

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `theta` | `number` | angle to rotate node, in radians |
| `x` | `number` | x coordinate to rotate around |
| `y` | `number` | y coordinate to rotate around |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[rotate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#rotate)

#### scale

▸ **scale**(`xx`, `yy`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Scale node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `xx` | `number` | x scale factor |
| `yy` | `number` | y scale factor |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[scale](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#scale)

#### setAnimationStyle

▸ **setAnimationStyle**(`animationStyle`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets animation style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `animationStyle` | [`Type`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#animationstyle#type) | animation style |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setanimationstyle)

#### setChild

▸ **setChild**(`index`, `node`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Replace child node by index

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `index` | `number` | index of the node |
| `node` | `T` | node |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### setClipStyle

▸ **setClipStyle**(`style`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets a new clipping style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath) | [`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle) | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#clipstyle#options) | a new clipping style |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setClipStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setclipstyle)

#### setCss

▸ **setCss**(`style`, `merge?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets CSS style. This style will be applied for all inserted elements

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`Type`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.css-1#cssstyle#type) | CSS style to be applied to inserted elements |
| `Optional` `merge` | `boolean` | merge flag |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setCss](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setcss)

#### setCssClass

▸ **setCssClass**(`name`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets css class name of the node to be used to apply CSS style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | css class name of the node |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setcssclass)

#### setCssTransform

▸ **setCssTransform**(`transform`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Set CSS transformation

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `transform` | `string` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | transformation css transformation instruction or Transformation instance |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setCssTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setcsstransform)

#### setId

▸ **setId**(`id`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Allows the user to associate any identifier

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `id` | `string` | `number` | object id |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setid)

#### setInfiniteMode

▸ **setInfiniteMode**(`infinityMode`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Set infinity mode flag to draw composite without collision check

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `infinityMode` | `boolean` | infinity mode flag |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### setLocalTransform

▸ **setLocalTransform**(`localTransform`, `force?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets local transformation to be used to transform from local to parent
coordinate

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `localTransform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | local transformation for this node |
| `Optional` `force` | `boolean` | boolean flag to force update event if transformations are equal, false by default |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setLocalTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setlocaltransform)

#### setMarginsStyle

▸ **setMarginsStyle**(`margins`, `merge?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets margins style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `margins` | [`Type`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#spacestyle#type)<`string` | `number`&gt; | margins style |
| `Optional` `merge` | `boolean` | true if you want to merge marginsStyle with existing attribute, false by default |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setMarginsStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setmarginsstyle)

#### setName

▸ **setName**(`name`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets name of the node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | The node name |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setname)

#### setNotification

▸ **setNotification**(`notify`, `force?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

set notification state

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `notify` | `boolean` | flag set to invalidate parent or not |
| `Optional` `force` | `boolean` | true if parent should be invalidated immediately |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setnotification)

#### setOpacity

▸ **setOpacity**(`opacity`, `blendMode?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets node opacity

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `opacity` | `number` | node opacity from 0 to 1 |
| `Optional` `blendMode` | [`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode) | opacity blend mode. If it is normal, opacity will be replaced. |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setOpacity](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setopacity)

#### setParent

▸ **setParent**(`parent`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets parent node. Don't call this method directly.
It is internal method.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `parent` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | a parent node |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setparent)

#### setProperties

▸ **setProperties**(`properties?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets all the properties pertaining to this object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `properties` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#compositenode#options)<`T`&gt; | An object containing the properties to set |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setproperties)

#### setProperty

▸ **setProperty**(`name`, `value`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets dynamic property by name

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | property name |
| `value` | `any` | property value |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setproperty)

#### setRenderingFilter

▸ **setRenderingFilter**(`filter`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets filter to be applied before rendering and picking

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `filter` | [`IFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.ifilter.ifilter) | filter to set |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setRenderingFilter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setrenderingfilter)

#### setResponsiveStyle

▸ **setResponsiveStyle**(`style`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets responsive style.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.responsive#responsivestyle#options) | [`ResponsiveStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.responsive.responsivestyle.responsivestyle) | responsive style |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setResponsiveStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setresponsivestyle)

#### setScaleScrollStrategy

▸ **setScaleScrollStrategy**(`strategy?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets scale scroll strategy

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `strategy` | [`Delegate`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#scalescrollstrategy#delegate) | scale scroll strategy |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setScaleScrollStrategy](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setscalescrollstrategy)

#### setSelectable

▸ **setSelectable**(`selectable`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Allows to select node. If node is not selectable then child node is
not selectable.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `selectable` | `boolean` | flag to allow node selection |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setselectable)

#### setSilent

▸ **setSilent**(`bool`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Set silent mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bool` | `boolean` | flag to enable silent mode |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setsilent)

#### setTag

▸ **setTag**(`tag`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Allows the user to associate any arbitrary object with the node.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `tag` | `any` | The object to be associated with the node. |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#settag)

#### setVisible

▸ **setVisible**(`value`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets visibility of the node.
Send event [Events.VisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#events#visibilitychanged)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `value` | `boolean` | flag specifying visibility of the node |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setvisible)

#### setVisibleModelLimits

▸ **setVisibleModelLimits**(`visibleModelBounds`, `deviceBounds?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Set visible model limits

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `visibleModelBounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | visible model limits or bounds |
| `Optional` `deviceBounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | device bounds |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### setZIndex

▸ **setZIndex**(`value`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Sets z-index for node (set null for default)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `value` | `number` | index determining node z-position |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[setZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#setzindex)

#### shear

▸ **shear**(`shx`, `shy`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Shear this node's bounds

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `shx` | `number` | x-axis shear |
| `shy` | `number` | y-axis shear |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[shear](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#shear)

#### toString

▸ **toString**(): `string`

Returns a string representation of this object (generally the classname)

#### Returns

`string`

A string representation

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[toString](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#tostring)

#### translate

▸ **translate**(`tx`, `ty`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Translate bounds

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `tx` | `number` | x translation |
| `ty` | `number` | y translation |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[translate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#translate)

#### unregisterAnimationStyle

▸ **unregisterAnimationStyle**(`root`): `void`

Unregister animation style.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `root` | [`AnimatedNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.animatednode.animatednode) | root node for node |


#### Returns

`void`

#### Overrides

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[unregisterAnimationStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#unregisteranimationstyle)

#### updateSceneTransformation

▸ **updateSceneTransformation**(): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Update scene transformation

#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[updateSceneTransformation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#updatescenetransformation)

#### updateState

▸ **updateState**(`regions?`, `changes?`): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Update state. These methods reset node state and update state for children. this method is useful to
refresh a scene graph

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `regions` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)[] | optional array to return invalid rectangles in the parent coordinates |
| `Optional` `changes` | [`StateChanges`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#statechanges) | optional parameter to specify a reason of changes |


#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[updateState](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#updatestate)

#### updateTimeStamp

▸ `Protected` **updateTimeStamp**(): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

Update time stamp to indicate that Node or Children has been changed.

#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<`T`&gt;

this

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#updatetimestamp)

#### enableSceneGraphNotification

▸ `Static` **enableSceneGraphNotification**(`enabled`): `void`

Enable / disable all notifications

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `enabled` | `boolean` | sets if this object sends notifications |


#### Returns

`void`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[enableSceneGraphNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#enablescenegraphnotification)

#### findParent

▸ `Static` **findParent**<`T`&gt;(`node`, `classType`, `filter?`): `InstanceType`<`T`&gt;

Find root of the node with specified type

#### Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends [`Constructor`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.base#constructor)<`any`&gt; |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | node to start search |
| `classType` | `T` | type of the class to search for |
| `Optional` `filter` | (`node`: [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)) => `boolean` | additional filter to apply |


#### Returns

`InstanceType`<`T`&gt;

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[findParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#findparent)

▸ `Static` **findParent**(`node`, `classType`, `filter?`): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Find root of the node with specified type

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | node to start search |
| `classType` | `string` | interface name to search for |
| `Optional` `filter` | (`node`: [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)) => `boolean` | additional filter to apply |


#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[findParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#findparent)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#getclassname-1)

#### isSceneGraphNotificationEnabled

▸ `Static` **isSceneGraphNotificationEnabled**(): `boolean`

Return status of the global notification for all nodes.

#### Returns

`boolean`

#### Inherited from

[AbstractNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode).[isSceneGraphNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode#isscenegraphnotificationenabled)