Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/SceneManager/ActorPropertiesWindow.cpp
void ActorPropertiesWindow::OnExcludedJointsFromBoundsSelectionDone(const AZStd::vector<SelectionItem>& selectedJoints)
    {
        EMotionFX::ActorInstance* actorInstance = m_excludeFromBoundsBrowseEdit->GetActorInstance();
        if (!actorInstance)
        {
            return;
        }

        AZStd::string command = AZStd::string::format("AdjustActor -actorID %i -nodesExcludedFromBounds \"", m_actor->GetID());

        // prepare the nodes excluded from bounds string
        size_t addedItems = 0;
        for (const SelectionItem& selectedJoint : selectedJoints)
        {
            EMotionFX::Node* node = m_actor->GetSkeleton()->FindNodeByName(selectedJoint.GetNodeName());
            if (node)
            {
                if (addedItems > 0)
                {
                    command += ';';
                }

                command += node->GetName();
                addedItems++;
            }
        }

        command += "\" -nodeAction \"select\"";

        // Reset the changes we did so that the undo data can be stored correctly.
        OnExcludedJointsFromBoundsSelectionChanged(m_excludeFromBoundsBrowseEdit->GetPreviouslySelectedJoints());

        AZStd::string result;
        if (!EMStudio::GetCommandManager()->ExecuteCommand(command, result))
        {
            AZ_Error("EMotionFX", false, result.c_str());
        }
    }
// select the nodes that should be excluded from the bounding volume calculations
select the nodes that should be excluded from the bounding volume calculations
select the nodes that should be excluded from the bounding volume calculations
void ActorPropertiesWindow::OnExcludedJointsFromBoundsSelectionDone(const AZStd::vector<SelectionItem>& selectedJoints)
    {
        EMotionFX::ActorInstance* actorInstance = m_excludeFromBoundsBrowseEdit->GetActorInstance();
        if (!actorInstance)
        {
            return;
        }
        AZStd::string command = AZStd::string::format("AdjustActor -actorID %i -nodesExcludedFromBounds \"", m_actor->GetID());
        size_t addedItems = 0;
        for (const SelectionItem& selectedJoint : selectedJoints)
        {
            EMotionFX::Node* node = m_actor->GetSkeleton()->FindNodeByName(selectedJoint.GetNodeName());
            if (node)
            {
                if (addedItems > 0)
                {
                    command += ';';
                }
                command += node->GetName();
                addedItems++;
            }
        }
        command += "\" -nodeAction \"select\"";
        OnExcludedJointsFromBoundsSelectionChanged(m_excludeFromBoundsBrowseEdit->GetPreviouslySelectedJoints());
        AZStd::string result;
        if (!EMStudio::GetCommandManager()->ExecuteCommand(command, result))
        {
            AZ_Error("EMotionFX", false, result.c_str());
        }
    }
void ActorPropertiesWindow :: OnExcludedJointsFromBoundsSelectionDone ( const AZStd :: vector < SelectionItem > & selectedJoints ) { EMotionFX :: ActorInstance * actorInstance = m_excludeFromBoundsBrowseEdit -> GetActorInstance ( ) ; if ( ! actorInstance ) { return ; } AZStd :: string command = AZStd :: string :: format ( " \" " , m_actor -> GetID ( ) ) ; size_t addedItems = 0 ; for ( const SelectionItem & selectedJoint : selectedJoints ) { EMotionFX :: Node * node = m_actor -> GetSkeleton ( ) -> FindNodeByName ( selectedJoint . GetNodeName ( ) ) ; if ( node ) { if ( addedItems > 0 ) { command += ' ' ; } command += node -> GetName ( ) ; addedItems ++ ; } } command += " \" \" \" " ; OnExcludedJointsFromBoundsSelectionChanged ( m_excludeFromBoundsBrowseEdit -> GetPreviouslySelectedJoints ( ) ) ; AZStd :: string result ; if ( ! EMStudio :: GetCommandManager ( ) -> ExecuteCommand ( command , result ) ) { AZ_Error ( " " , false , result . c_str ( ) ) ; } }
select the nodes that should be excluded from the bounding volume calculations
select the nodes that should be excluded from the bounding volume calculations
// prepare the nodes excluded from bounds string // Reset the changes we did so that the undo data can be stored correctly.