Emergency 2017 Dokumentation  v3.0.1
qsf::editor::MeshPrototypeFabricator Class Reference

Mesh prototype fabricator. More...

#include <MeshPrototypeFabricator.h>

Public Member Functions

 MeshPrototypeFabricator (PrototypeFabricatorManager *prototypeFabricatorManager)
 Constructor. More...
 
virtual ~MeshPrototypeFabricator ()
 Destructor. More...
 
- Public Member Functions inherited from qsf::editor::OgrePrototypeFabricator
virtual ~OgrePrototypeFabricator ()
 Destructor. More...
 
- Public Member Functions inherited from qsf::editor::PrototypeFabricator
virtual ~PrototypeFabricator ()
 Destructor. More...
 
PrototypeFabricatorManagergetPrototypeFabricatorManager () const
 Return the prototype fabricator manager. More...
 
- Public Member Functions inherited from qsf::Pluginable< PrototypeFabricatorManager >
virtual ~Pluginable ()
 Destructor. More...
 
PrototypeFabricatorManager & getManager () const
 Return the pluginable manager this pluginable is in. More...
 
- Public Member Functions inherited from qsf::PluginableBase
virtual ~PluginableBase ()
 Destructor. More...
 
template<typename T >
T & getPluginableManager () const
 Return the pluginable manager this pluginable is in. More...
 
- Public Member Functions inherited from qsf::Object
virtual ~Object ()
 Destructor. More...
 
const camp::Class & getCampClass () const
 Return the CAMP class. More...
 
int getPropertyIndexById (const StringHash &propertyId) const
 Return the CAMP property index by using the unique class property ID. More...
 
uint32 getPropertyIdByIndex (int index) const
 Return the unique class property ID with the given index. More...
 
std::string getPropertyNameById (const StringHash &propertyId) const
 Return the CAMP property name by using the unique class property ID. More...
 
const camp::Property * getCampPropertyById (const StringHash &propertyId) const
 Return the CAMP property by using the unique class property ID. More...
 
void setPropertyValuesByString (const std::string &values)
 Set CAMP reflection property values by using a given string. More...
 
void setPropertiesToDefaultValues ()
 Set all CAMP reflection system properties to their default values. More...
 
void serializeToBoostPTree (boost::property_tree::ptree &pTree, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL) const
 
void serializeToBoostPTree (boost::property_tree::ptree &pTree, const camp::Class &campClass, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL) const
 
bool deserializeFromBoostPTree (const boost::property_tree::ptree &pTree, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL)
 
bool deserializeFromBoostPTree (const boost::property_tree::ptree &pTree, const camp::Class &campClass, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL)
 
void serializeToBinarySerializer (BinarySerializer &serializer, SerializationMode mode=MODE_MINIMAL, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL) const
 
void deserializeFromBinarySerializer (BinarySerializer &serializer, SerializationMode mode=MODE_MINIMAL, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL, bool setOverrideState=true)
 
virtual camp::Value getPropertyDefaultValue (const StringHash &propertyId) const
 
virtual PropertyOverrideState getPropertyOverrideState (const StringHash &propertyId) const
 
virtual bool setPropertyOverrideState (const StringHash &propertyId, PropertyOverrideState overrideState)
 
virtual void onPreDeserialize ()
 Called right before the object is deserialized using any of the above methods. Default implementation is empty. More...
 
virtual void onPostDeserialize ()
 Called right after the object was deserialized using any of the above methods. Default implementation is empty. More...
 
virtual ScriptgetAssociatedScript () const
 Return the script instance associated with this object instance. More...
 

Static Public Attributes

static const uint32 PLUGINABLE_ID
 "qsf::editor::MeshPrototypeFabricator" unique pluginable prototype fabricator ID More...
 
- Static Public Attributes inherited from qsf::editor::OgrePrototypeFabricator
static const uint32 PLUGINABLE_ID
 "qsf::editor::OgrePrototypeFabricator" unique pluginable prototype fabricator ID More...
 

Protected Member Functions

virtual bool canFabricatePrototypeByAbsoluteFilename (const std::string &absoluteFilename) const override
 Check whether or not it's possible to fabricate prototype by using a given filename. More...
 
virtual PrototypefabricatePrototypeByAbsoluteFilename (const std::string &absoluteFilename, AssetPackage &assetPackage) const override
 Fabricate prototype by using a given filename. More...
 
- Protected Member Functions inherited from qsf::editor::OgrePrototypeFabricator
 OgrePrototypeFabricator (PrototypeFabricatorManager *prototypeFabricatorManager)
 Constructor. More...
 
void registerScriptCompilerListener () const
 Register OGRE script compiler listener. More...
 
void unregisterScriptCompilerListener () const
 Unregister OGRE script compiler listener. More...
 
- Protected Member Functions inherited from qsf::editor::PrototypeFabricator
 PrototypeFabricator (PrototypeFabricatorManager *prototypeFabricatorManager)
 Constructor. More...
 
- Protected Member Functions inherited from qsf::Pluginable< PrototypeFabricatorManager >
 Pluginable (PrototypeFabricatorManager *pluginableManager)
 Constructor. More...
 
- Protected Member Functions inherited from qsf::PluginableBase
 PluginableBase (PluginableManager *pluginableManager)
 Constructor. More...
 
- Protected Member Functions inherited from qsf::Object
 Object ()
 Default constructor. More...
 

Additional Inherited Members

- Public Types inherited from qsf::Object
enum  PropertyOverrideState { PROPERTY_INVALID, PROPERTY_DEFAULT, PROPERTY_OVERRIDE, PROPERTY_REMOVED }
 
enum  SerializationMethod { SERIALIZE_FLAT, SERIALIZE_COMPLETE, SERIALIZE_DIFFERENTIAL, SERIALIZE_IGNORE_UNKNOWN }
 
enum  SerializationMode { MODE_MINIMAL, MODE_COMPATIBLE }
 

Detailed Description

Mesh prototype fabricator.

Todo:
  • TODO(co) The mesh prototype fabricator is heavily under construction (current focus: proof-of-concept)
  • TODO(co) "qsf::editor::MeshPrototypeFabricator::fabricatePrototypeByFilename()" and "qsf::editor::ParticlesPrototypeFabricator::fabricatePrototypeByFilename()" are quite similar, can we unify something wihout extreme overengineering?

Definition at line 36 of file MeshPrototypeFabricator.h.

Constructor & Destructor Documentation

qsf::editor::MeshPrototypeFabricator::MeshPrototypeFabricator ( PrototypeFabricatorManager prototypeFabricatorManager)
explicit

Constructor.

Parameters
[in]prototypeFabricatorManagerThe prototype fabricator manager this prototype fabricator is in, no null pointer allowed (the CAMP reflection system does not like references in constructors, so we have to use a pointer instead)
virtual qsf::editor::MeshPrototypeFabricator::~MeshPrototypeFabricator ( )
virtual

Destructor.

Member Function Documentation

virtual bool qsf::editor::MeshPrototypeFabricator::canFabricatePrototypeByAbsoluteFilename ( const std::string &  absoluteFilename) const
overrideprotectedvirtual

Check whether or not it's possible to fabricate prototype by using a given filename.

Parameters
[in]absoluteFilenameAbsolute UTF-8 filename in platform-independent notation of the of the file to use as raw material for the fabrication of a prototype
Returns
"true" if it's possible to fabricate prototype by using a given filename, else "false"

Implements qsf::editor::PrototypeFabricator.

virtual Prototype* qsf::editor::MeshPrototypeFabricator::fabricatePrototypeByAbsoluteFilename ( const std::string &  absoluteFilename,
AssetPackage assetPackage 
) const
overrideprotectedvirtual

Fabricate prototype by using a given filename.

Parameters
[in]absoluteFilenameAbsolute UTF-8 filename in platform-independent notation of the of the file to use as raw material for the fabrication of a prototype
[in]assetPackageAsset package instance new imported assets should be registered in, instance must stay valid as long as this asset import instance exists
Returns
The fabricated prototype, null pointer on error, do not destroy the instance because it's managed by the prototype system

Implements qsf::editor::PrototypeFabricator.

Member Data Documentation

const uint32 qsf::editor::MeshPrototypeFabricator::PLUGINABLE_ID
static

"qsf::editor::MeshPrototypeFabricator" unique pluginable prototype fabricator ID

Definition at line 44 of file MeshPrototypeFabricator.h.


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