Create and manage 3D visuals of a model with links, nested models and joints. More...
#include <ModelCreator.hh>
Inherits QObject.
Public Types | |
| enum | EntityType {  ENTITY_NONE, ENTITY_BOX, ENTITY_SPHERE, ENTITY_CYLINDER, ENTITY_MESH, ENTITY_POLYLINE, ENTITY_MODEL }  | 
| enum | SaveState { NEVER_SAVED, ALL_SAVED, UNSAVED_CHANGES } | 
| Save states for the model editor.  More... | |
Signals | |
| void | LinkAdded () | 
| Qt signal when the a link has been added.  More... | |
Public Member Functions | |
| ModelCreator (QObject *_parent=NULL) | |
| Constructor.  More... | |
| virtual | ~ModelCreator () | 
| Destructor.  More... | |
| void | AddCustomLink (const EntityType _type, const ignition::math::Vector3d &_size=ignition::math::Vector3d::One, const ignition::math::Pose3d &_pose=ignition::math::Pose3d::Zero, const std::string &_uri="", const unsigned int _samples=5) | 
| Begin the process of inserting a custom link using the mouse.  More... | |
| void | AddEntity (const sdf::ElementPtr &_sdf) | 
| Add an entity to the model.  More... | |
| void | AddJoint (const std::string &_type) | 
| Add a joint to the model.  More... | |
| void | AddLink (const EntityType _type) | 
| Add a link to the model.  More... | |
| NestedModelData * | AddModel (const sdf::ElementPtr &_sdf) | 
| Add a nested model to the model.  More... | |
| void | AddModelPlugin (const sdf::ElementPtr &_pluginElem) | 
| Add a model plugin to the model.  More... | |
| LinkData * | AddShape (const EntityType _type, const ignition::math::Vector3d &_size=ignition::math::Vector3d::One, const ignition::math::Pose3d &_pose=ignition::math::Pose3d::Zero, const std::string &_uri="", const unsigned int _samples=5) | 
| Add a link to the model.  More... | |
| enum SaveState | CurrentSaveState () const | 
| Get current save state.  More... | |
| void | FinishModel () | 
| Finish the model and create the entity on the gzserver.  More... | |
| void | GenerateSDF () | 
| Generate the SDF from model link and joint visuals.  More... | |
| gui::JointMaker * | JointMaker () const | 
| Get joint maker.  More... | |
| void | ModelChanged () | 
| Set save state upon a change to the model.  More... | |
| std::string | ModelName () const | 
| Get the name of the model.  More... | |
| ModelPluginData * | ModelPlugin (const std::string &_name) | 
| Get a model plugin data by its name.  More... | |
| void | OnAddModelPlugin (const std::string &_name, const std::string &_filename, const std::string &_innerxml) | 
| Add a model plugin to the model.  More... | |
| void | RemoveEntity (const std::string &_entityName) | 
| Remove an entity from the model.  More... | |
| void | RemoveModelPlugin (const std::string &_pluginName) | 
| Remove a model plugin from the model.  More... | |
| void | Reset () | 
| Reset the model creator and the SDF.  More... | |
| void | SaveModelFiles () | 
| Helper function to manage writing files to disk.  More... | |
| void | SetAutoDisable (const bool _auto) | 
| Set the model to allow auto disable at rest.  More... | |
| void | SetModelName (const std::string &_modelName) | 
| Set the name of the model.  More... | |
| void | SetSelected (const std::string &_name, const bool selected) | 
| Set the select state of an entity.  More... | |
| void | SetSelected (const rendering::VisualPtr &_entityVis, const bool selected) | 
| Set the select state of a entity visual.  More... | |
| void | SetStatic (const bool _static) | 
| Set the model to be static.  More... | |
| void | Stop () | 
| Stop the process of adding a link or joint to the model.  More... | |
Create and manage 3D visuals of a model with links, nested models and joints.
| enum EntityType | 
| enum SaveState | 
| ModelCreator | ( | QObject * | _parent = NULL | ) | 
Constructor.
| [in] | _parent | Parent Qt Object | 
      
  | 
  virtual | 
Destructor.
| void AddCustomLink | ( | const EntityType | _type, | 
| const ignition::math::Vector3d & | _size = ignition::math::Vector3d::One,  | 
        ||
| const ignition::math::Pose3d & | _pose = ignition::math::Pose3d::Zero,  | 
        ||
| const std::string & | _uri = "",  | 
        ||
| const unsigned int | _samples = 5  | 
        ||
| ) | 
Begin the process of inserting a custom link using the mouse.
| [in] | _type | Type of link to add: ENTITY_BOX, ENTITY_CYLINDER, ENTITY_SPHERE, ENTITY_MESH or ENTITY_POLYLINE. | 
| [in] | _size | Size of the link. | 
| [in] | _pose | Pose of the link. | 
| [in] | _samples | Number of samples for polyline. | 
| void AddEntity | ( | const sdf::ElementPtr & | _sdf | ) | 
Add an entity to the model.
| [in] | _sdf | SDF describing the entity. | 
| void AddJoint | ( | const std::string & | _type | ) | 
Add a joint to the model.
| [in] | _type | Type of joint to add. | 
| void AddLink | ( | const EntityType | _type | ) | 
Add a link to the model.
| [in] | _type | Type of link to be added | 
| NestedModelData* AddModel | ( | const sdf::ElementPtr & | _sdf | ) | 
Add a nested model to the model.
| [in] | _sdf | SDF describing the model. | 
| void AddModelPlugin | ( | const sdf::ElementPtr & | _pluginElem | ) | 
Add a model plugin to the model.
| [in] | _pluginElem | Pointer to plugin SDF element | 
| LinkData* AddShape | ( | const EntityType | _type, | 
| const ignition::math::Vector3d & | _size = ignition::math::Vector3d::One,  | 
        ||
| const ignition::math::Pose3d & | _pose = ignition::math::Pose3d::Zero,  | 
        ||
| const std::string & | _uri = "",  | 
        ||
| const unsigned int | _samples = 5  | 
        ||
| ) | 
Add a link to the model.
| [in] | _type | Type of link to add: ENTITY_BOX, ENTITY_CYLINDER, ENTITY_SPHERE, ENTITY_MESH or ENTITY_POLYLINE. | 
| [in] | _size | Size of the link. | 
| [in] | _pose | Pose of the link. | 
| [in] | _samples | Number of samples for polyline. | 
| enum SaveState CurrentSaveState | ( | ) | const | 
Get current save state.
| void FinishModel | ( | ) | 
Finish the model and create the entity on the gzserver.
| void GenerateSDF | ( | ) | 
Generate the SDF from model link and joint visuals.
| gui::JointMaker* JointMaker | ( | ) | const | 
Get joint maker.
      
  | 
  signal | 
Qt signal when the a link has been added.
| void ModelChanged | ( | ) | 
Set save state upon a change to the model.
| std::string ModelName | ( | ) | const | 
Get the name of the model.
| ModelPluginData* ModelPlugin | ( | const std::string & | _name | ) | 
Get a model plugin data by its name.
| [in] | _name | Name of model plugin | 
| void OnAddModelPlugin | ( | const std::string & | _name, | 
| const std::string & | _filename, | ||
| const std::string & | _innerxml | ||
| ) | 
Add a model plugin to the model.
| [in] | _name | Name of plugin | 
| [in] | _filename | Plugin filename | 
| [in] | _innerxml | Plugin SDF elements in string | 
| void RemoveEntity | ( | const std::string & | _entityName | ) | 
Remove an entity from the model.
| [in] | _entityName | Name of the entity to remove | 
| void RemoveModelPlugin | ( | const std::string & | _pluginName | ) | 
Remove a model plugin from the model.
| [in] | _pluginName | Name of the model plugin to remove. | 
| void Reset | ( | ) | 
Reset the model creator and the SDF.
| void SaveModelFiles | ( | ) | 
Helper function to manage writing files to disk.
| void SetAutoDisable | ( | const bool | _auto | ) | 
Set the model to allow auto disable at rest.
| [in] | _auto | True to allow the model to auto disable. | 
| void SetModelName | ( | const std::string & | _modelName | ) | 
Set the name of the model.
| [in] | _modelName | Name of the model to set to. | 
| void SetSelected | ( | const std::string & | _name, | 
| const bool | selected | ||
| ) | 
Set the select state of an entity.
| [in] | _name | Name of the link. | 
| [in] | _selected | True to select the entity. | 
| void SetSelected | ( | const rendering::VisualPtr & | _entityVis, | 
| const bool | selected | ||
| ) | 
Set the select state of a entity visual.
| [in] | _linkVis | Pointer to the entity visual. | 
| [in] | _selected | True to select the entity. | 
| void SetStatic | ( | const bool | _static | ) | 
Set the model to be static.
| [in] | _static | True to make the model static. | 
| void Stop | ( | ) | 
Stop the process of adding a link or joint to the model.