meshReorderTool.h

/*
        Author: Bruce Hickey

        Description:
    ------------

        An example context to allow reordering vertex/edge lists based on a user specifed seed.


        Loading and unloading:
        ----------------------

        The meshReorderContext can be created with the
        following mel commands:

                meshReorderContext;
                setToolTo meshReorderContext1;


        How to use:
        -----------

        Once the context has created and activated follow the help line prompts. You will 
        be directed to pick 3 vertices on the mesh. Once all 3 vertices are selected the meshOrder 
    command will be invoked to reorder the mesh's vertices.
*/

#ifndef _MESH_REORDER_TOOL_H_
#define _MESH_REORDER_TOOL_H_

#include <maya/MString.h>
#include <maya/MItSelectionList.h>
#include <maya/MPxContextCommand.h>
#include <maya/MPxContext.h>
#include <maya/MPxSelectionContext.h>
#include <maya/MEvent.h>
#include <maya/M3dView.h>
#include <maya/MObjectArray.h>
#include <maya/MDagPathArray.h>
#include <maya/MIntArray.h>
#include <meshReorderCmd.h>

class meshReorderTool : public MPxSelectionContext
{
public:
                    meshReorderTool();
    virtual         ~meshReorderTool();
    void*           creator();

    void    toolOnSetup( MEvent & event );

    MStatus doRelease( MEvent& );

private:
    MStatus             helpStateHasChanged( MEvent&);
    void                reset();

    MSelectionList      fSelectionList;

    MObjectArray        fSelectedComponentSrc;
    MDagPathArray       fSelectedPathSrc;

    MIntArray           fSelectVtxSrc;

    MString             fCurrentHelpString;

    int                 fSelectedFaceSrc;

    int                 fNumSelectedPoints;
};

// Command to create contexts

class meshReorderContextCmd : public MPxContextCommand
{
public: 
                        meshReorderContextCmd() {};
    virtual MPxContext* makeObj();
    static void*        creator();
};

#endif  

//-
// ==========================================================================
// Copyright 1995,2006,2008 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk
// license agreement provided at the time of installation or download,
// or which otherwise accompanies this software in either electronic
// or hard copy form.
// ==========================================================================
//+