#include <maya/MFnPlugin.h>
#include <maya/MTypeId.h> 
#include <maya/MMatrixArray.h>
#include <maya/MStringArray.h>
#include <maya/MFloatArray.h>
#include <maya/MPoint.h>
#include <maya/MPointArray.h>
#include <maya/MPxBlendShape.h> 
#include <maya/MItGeometry.h>
#include <maya/MFnPointArrayData.h>
#include <maya/MFnComponentListData.h>
{
public:
    static  void*   creator();
    
    
                           unsigned int groupId,
                           unsigned int multiIndex);
};
const MTypeId basicBlendShape::id( 0x00080031 );
 
void* basicBlendShape::creator()
{
    return new basicBlendShape();
}
MStatus basicBlendShape::initialize()
 
{
}
                      unsigned int ,
                      unsigned int multiIndex)
{
    
    
    for ( unsigned int w=0; w<numWeights; ++w ) {
    }
    
    
    
    if ( !returnStatus ) {
        return returnStatus;
    }
    for ( unsigned int w=0; w<numWeights; ++w ) {
        
        
        MPlug plug( thisMObject(), inputPointsTarget );
 
        plug.selectAncestorLogicalIndex( multiIndex, inputTarget );
        plug.selectAncestorLogicalIndex( w, inputTargetGroup );
        
        plug.selectAncestorLogicalIndex( 6000, inputTargetItem );
        MObject pointArray = plug.asMObject( context );
 
        
        plug = plug.parent();
        plug = plug.child( inputComponentsTarget );
        if ( compList.length() == 0 ) {
            continue;
        }
        
        float defWgt = weights[w];
        unsigned int ptIndex = 0;
        for ( ; !iter.isDone(); iter.next(), ++ptIndex ) {
            unsigned int compIndex = iter.index();
            float wgt = defWgt;
            }
            pt += pts[ptIndex] * wgt;
            iter.setPosition( pt );
        }
    }
    return returnStatus;
}
{
    MFnPlugin plugin( obj, PLUGIN_COMPANY, 
"3.0", 
"Any");
 
    result = plugin.registerNode(
        "basicBlendShape" ,
        basicBlendShape::id ,
        &basicBlendShape::creator ,
        &basicBlendShape::initialize ,
        );
    return result;
}
{
    result = plugin.deregisterNode( basicBlendShape::id );
    return result;
}