Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::Plugin Class Reference

Abstract plugin class – represents loadable configurable objects and utilities. More...

#include <mitsuba/core/plugin.h>

Public Member Functions

 Plugin (const std::string &shortName, const fs::path &path)
 Load a plugin from the supplied path. More...
 
virtual ~Plugin ()
 Virtual destructor. More...
 
bool isUtility () const
 Is this a configurable object plugin or an utility plugin? More...
 
ConfigurableObjectcreateInstance (const Properties &props) const
 Return an instance of the class implemented by this plugin. More...
 
UtilitycreateUtility () const
 Return an utility instance (if this is an utility plugin) More...
 
std::string getDescription () const
 Return a description of this plugin. More...
 
const fs::path & getPath () const
 Return the path of this plugin. More...
 
const std::string & getShortName () const
 Return a short name of this plugin. More...
 

Protected Member Functions

void * getSymbol (const std::string &sym)
 Resolve the given symbol and return a pointer. More...
 
bool hasSymbol (const std::string &sym) const
 Check whether a certain symbol is provided by the plugin. More...
 

Detailed Description

Abstract plugin class – represents loadable configurable objects and utilities.

Please see the ConfigurableObject and Utility classes for details.

Constructor & Destructor Documentation

mitsuba::Plugin::Plugin ( const std::string &  shortName,
const fs::path &  path 
)

Load a plugin from the supplied path.

virtual mitsuba::Plugin::~Plugin ( )
virtual

Virtual destructor.

Member Function Documentation

ConfigurableObject* mitsuba::Plugin::createInstance ( const Properties props) const

Return an instance of the class implemented by this plugin.

Utility* mitsuba::Plugin::createUtility ( ) const

Return an utility instance (if this is an utility plugin)

std::string mitsuba::Plugin::getDescription ( ) const

Return a description of this plugin.

const fs::path& mitsuba::Plugin::getPath ( ) const

Return the path of this plugin.

const std::string& mitsuba::Plugin::getShortName ( ) const

Return a short name of this plugin.

void* mitsuba::Plugin::getSymbol ( const std::string &  sym)
protected

Resolve the given symbol and return a pointer.

bool mitsuba::Plugin::hasSymbol ( const std::string &  sym) const
protected

Check whether a certain symbol is provided by the plugin.

bool mitsuba::Plugin::isUtility ( ) const

Is this a configurable object plugin or an utility plugin?


The documentation for this class was generated from the following file: