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... | |
Public Slots | |
void | ShowCollisions (const bool _show) |
Show or hide collision visuals. More... | |
void | ShowLinkFrames (const bool _show) |
Show or hide link frame visuals. More... | |
void | ShowVisuals (const bool _show) |
Show or hide visual visuals. 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 | DisableEventHandlers () |
Disable the mouse and key event handlers. More... | |
void | EnableEventHandlers () |
Enable the mouse and key event handlers. 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, const bool _newCmd=true) |
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, const bool _newCmd=true) |
Remove a model plugin from the model. More... | |
void | Reset () |
Reset the model creator and the SDF. More... | |
bool | 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... | |
ignition::math::Pose3d | WorldToLocal (const ignition::math::Pose3d &_world) const |
Convert a given pose from the world frame to the local frame of the model being edited. More... | |
Create and manage 3D visuals of a model with links, nested models and joints.
enum EntityType |
enum SaveState |
|
explicit |
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 DisableEventHandlers | ( | ) |
Disable the mouse and key event handlers.
void EnableEventHandlers | ( | ) |
Enable the mouse and key event handlers.
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, | ||
const bool | _newCmd = true |
||
) |
Add a model plugin to the model.
[in] | _name | Name of plugin |
[in] | _filename | Plugin filename |
[in] | _innerxml | Plugin SDF elements in string |
[in] | _newCmd | Flag indicating whether a new command should be created. |
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, |
const bool | _newCmd = true |
||
) |
Remove a model plugin from the model.
[in] | _pluginName | Name of the model plugin to remove. |
[in] | _newCmd | Flag indicating whether a new command should be created. |
void Reset | ( | ) |
Reset the model creator and the SDF.
bool 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. |
|
slot |
Show or hide collision visuals.
[in] | _show | True to show, false to hide. |
|
slot |
Show or hide link frame visuals.
[in] | _show | True to show, false to hide. |
|
slot |
Show or hide visual visuals.
[in] | _show | True to show, false to hide. |
void Stop | ( | ) |
Stop the process of adding a link or joint to the model.
ignition::math::Pose3d WorldToLocal | ( | const ignition::math::Pose3d & | _world | ) | const |
Convert a given pose from the world frame to the local frame of the model being edited.
[in] | _world | Pose in world frame. |