MapExtractorPlugin/MapExtractorPlugin.h

MapExtractorPlugin/MapExtractorPlugin.h
//**************************************************************************/
// Copyright (c) 2012 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.
//
//**************************************************************************/
// DESCRIPTION: An example plugin that will set up custom attributes once
// a new Map Extraction node is created.
// CREATED: May 2012
//**************************************************************************/
#if defined(JAMBUILD)
#include <Mudbox/mudbox.h>
#else
#include "../../include/Mudbox/mudbox.h"
#include "../../include/MapExtractor/MapExtractorInterface.h"
#include "../../include/MapExtractorAPI/MapExtractorAPI.h"
#endif
using namespace mudbox;
static void Initializer();
// The main class for the plugin that will create, implement, and manage the plugin
class MapExtractorPlugin : public Node
{
public:
// The function that connects the custom pointer to the source scene member event
MapExtractorPlugin();
// This function will be called every time a specific event happens to a node
virtual void OnNodeEvent( const Attribute &a, NodeEventType t );
// The example functions that are changing the settings in each
// Sampler once the new map extractor node is created
void changeBasicSettings( mapextraction::Extractor eC);
void changeNormalSettings( mapextraction::NormalSampler nC);
void changeAmbientSettings( mapextraction::AmbientOcclusionSampler aoC);
void changeDisplacementSettings( mapextraction::DisplacementSampler dC);
// This function will be only called once, it will create a menu item for the plugin
static void Initializer( void );
private:
// Create a pointer to a scene membership event, so that we can catch if
// a map extraction node is created
aptr<SceneMembershipEventNotifier> m_pSceneMembershipEvent;
};