function MergedLayer3d( config ) {

	// NativeLayer3d inherits from abstract layer "MergedLayer"

	MergedLayer.call( this, config );

	/**
	 * mergedLayer3d has three output dimensions: [ width, height, depth ].
	 *
	 * @type { int }
	 */

	this.width = undefined;
	this.height = undefined;
	this.depth = undefined;

	/**
	 * Feature map's handlers list.
	 *
	 * @type { Array }
	 */

	this.segregationHandlers = [];

	/**
	 * Feature maps's centers when layer is totally open.
	 *
	 * @type { Array }
	 */

	this.openFmCenters = [];

	/**
	 * Feature maps' centers when layer is closed.
	 *
	 * @type { Array }
	 */

	this.closeFmCenters = [];

	/**
	 * Concrete strategy in runtime.
	 * Initialized in MergedLayer3d's initStrategy period.
	 * Applicable strategy: Add3d, Average3d, Concatenate3d, Dot3d, Maximum3d, Multiply3d, Subtract3d.
	 *
	 * @type { Object }, MergeStrategy3d
	 */

	this.operationStrategy = undefined;

	/**
	 * Label to define whether layer need an "output value" from backend model (tfjs, keras, or tf).
	 * False means that user need to add value for MergedLayer3d when they are preprocessing multi-output for the model.
	 *
	 * @type { boolean }
	 */

	this.autoOutputDetect = false;

	// Init concrete strategy based on config.

	this.initStrategy( config );

	this.layerDimension = 3;

}
Feature maps's centers when layer is totally open.

@type { Array }