src/shapes/SurfaceShape.js
function () {
                    // If we don't have a state key for the shape attributes, consider this state key to be invalid.
                    if (!this._attributesStateKey) {
                        // Update the state key for the appropriate attributes for future
                        if (this._highlighted) {
                            if (!!this._highlightAttributes) {
                                this._attributesStateKey = this._highlightAttributes.stateKey;
                            }
                        } else {
                            if (!!this._attributes) {
                                this._attributesStateKey = this._attributes.stateKey;
                            }
                        }

                        // If we now actually have a state key for the attributes, it was previously invalid.
                        if (!!this._attributesStateKey) {
                            this.stateKeyInvalid = true;
                        }
                    } else {
                        // Detect a change in the appropriate attributes.
                        var currentAttributesStateKey = null;

                        if (this._highlighted) {
                            // If there are highlight attributes associated with this shape, ...
                            if (!!this._highlightAttributes) {
                                currentAttributesStateKey = this._highlightAttributes.stateKey;
                            }
                        } else {
                            if (!!this._attributes) {
                                currentAttributesStateKey = this._attributes.stateKey;
                            }
                        }

                        // If the attributes state key changed, ...
                        if (currentAttributesStateKey != this._attributesStateKey) {
                            this._attributesStateKey = currentAttributesStateKey;
                            this.stateKeyInvalid = true;
                        }
                    }

                    if (this.stateKeyInvalid) {
                        this._stateKey = this.computeStateKey();
                    }

                    return this._stateKey;
                }
function () {
                    // If we don't have a state key for the shape attributes, consider this state key to be invalid.
                    if (!this._attributesStateKey) {
                        // Update the state key for the appropriate attributes for future
                        if (this._highlighted) {
                            if (!!this._highlightAttributes) {
                                this._attributesStateKey = this._highlightAttributes.stateKey;
                            }
                        } else {
                            if (!!this._attributes) {
                                this._attributesStateKey = this._attributes.stateKey;
                            }
                        }

                        // If we now actually have a state key for the attributes, it was previously invalid.
                        if (!!this._attributesStateKey) {
                            this.stateKeyInvalid = true;
                        }
                    } else {
                        // Detect a change in the appropriate attributes.
                        var currentAttributesStateKey = null;

                        if (this._highlighted) {
                            // If there are highlight attributes associated with this shape, ...
                            if (!!this._highlightAttributes) {
                                currentAttributesStateKey = this._highlightAttributes.stateKey;
                            }
                        } else {
                            if (!!this._attributes) {
                                currentAttributesStateKey = this._attributes.stateKey;
                            }
                        }

                        // If the attributes state key changed, ...
                        if (currentAttributesStateKey != this._attributesStateKey) {
                            this._attributesStateKey = currentAttributesStateKey;
                            this.stateKeyInvalid = true;
                        }
                    }

                    if (this.stateKeyInvalid) {
                        this._stateKey = this.computeStateKey();
                    }

                    return this._stateKey;
                }
function ( ) { // If we don't have a state key for the shape attributes, consider this state key to be invalid. if ( ! this . _attributesStateKey ) { // Update the state key for the appropriate attributes for future if ( this . _highlighted ) { if ( ! ! this . _highlightAttributes ) { this . _attributesStateKey = this . _highlightAttributes . stateKey ; } } else { if ( ! ! this . _attributes ) { this . _attributesStateKey = this . _attributes . stateKey ; } } // If we now actually have a state key for the attributes, it was previously invalid. if ( ! ! this . _attributesStateKey ) { this . stateKeyInvalid = true ; } } else { // Detect a change in the appropriate attributes. var currentAttributesStateKey = null ; if ( this . _highlighted ) { // If there are highlight attributes associated with this shape, ... if ( ! ! this . _highlightAttributes ) { currentAttributesStateKey = this . _highlightAttributes . stateKey ; } } else { if ( ! ! this . _attributes ) { currentAttributesStateKey = this . _attributes . stateKey ; } } // If the attributes state key changed, ... if ( currentAttributesStateKey != this . _attributesStateKey ) { this . _attributesStateKey = currentAttributesStateKey ; this . stateKeyInvalid = true ; } } if ( this . stateKeyInvalid ) { this . _stateKey = this . computeStateKey ( ) ; } return this . _stateKey ; }
A hash key of the total visible external state of the surface shape.
@memberof SurfaceShape.prototype
@type {String}
A hash key of the total visible external state of the surface shape .