Example #1
0
    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);
    }