C++ API Reference: narrowPolyRenderOverride/narrowPolyRenderOverride.h
#include <stdio.h>
#include <maya/MString.h>
#include <maya/MSelectionList.h>
#include <maya/M3dView.h>
#include <maya/MDrawContext.h>
#include <maya/MFrameContext.h>
#include <array>
#include <memory>
static const MString kPluginName =
"Narrow Poly Renderer Override";
static const MColor kColor(1.0f, 0.5f, 0.5f, 0.5f);
static constexpr double kTolerance = 10;
using MRenderOperationPtr = std::unique_ptr<MHWRender::MRenderOperation>;
{
public:
enum
{
kSceneRenderOp,
kUserOpNumber,
kPresentOp,
kNumberOfOps
};
narrowPolyRenderOverride(
const MString& name)
: MRenderOverride(name)
, mCurrentOperation(-1)
{
}
~narrowPolyRenderOverride() override
{
}
const MString& panelName()
const {
return kPluginName; }
protected:
int mCurrentOperation;
std::array <MRenderOperationPtr, kNumberOfOps> mRenderOperations;
};
{
public:
narrowPolyRenderUserOperation(
const MString& name) : MUserRenderOperation(name) {}
~narrowPolyRenderUserOperation() {}
MStatus execute(
const MDrawContext& drawContext)
override {
return MS::kSuccess; }
const MString& panelName()
const {
return kPluginName; }
};