public NPVoxBox GetAffectedBox() { if (Input == null) { Debug.Log("Input was NULL"); return(NPVoxBox.INVALID); } NPVoxBoneModel affectedAreaSourceModel = (Input as NPVoxIModelFactory).GetProduct() as NPVoxBoneModel; if (affectedAreaSourceModel == null) { Debug.Log("Input did not procue a bone model"); return(NPVoxBox.INVALID); } if (affectedAreaSourceModel == this.lastAffectedAreaSourceModel && this.lastAffectedAreaSourceModelVersion == affectedAreaSourceModel.GetVersion() && lastAffectedAreaBoneMask == this.boneMask) { return(lastAffectedArea); } NPVoxBox affectedArea = affectedAreaSourceModel.GetAffectedArea(boneMask); this.lastAffectedArea = affectedArea; this.lastAffectedAreaSourceModelVersion = affectedAreaSourceModel.GetVersion(); this.lastAffectedAreaSourceModel = affectedAreaSourceModel; this.lastAffectedAreaBoneMask = this.boneMask; if (lastAffectedArea == null) { lastAffectedArea = NPVoxBox.INVALID; } // Debug.Log("Recalculate Affected Area"); return(lastAffectedArea); }