void AssemblyCollectionItem::slot_create() { const string assembly_name = get_entity_name_dialog( treeWidget(), "Create Assembly", "Assembly Name:", make_unique_name("assembly", m_parent.assemblies())); // todo: schedule creation of assembly when rendering. if (!assembly_name.empty()) { auto_release_ptr<Assembly> assembly( AssemblyFactory().create(assembly_name.c_str(), ParamArray())); AssemblyItem* assembly_item = static_cast<AssemblyItem*>(m_parent_item->add_item(assembly.get())); m_parent.assemblies().insert(assembly); const string assembly_instance_name = make_unique_name( assembly_name + "_inst", m_parent.assembly_instances()); assembly_item->instantiate(assembly_instance_name); m_editor_context.m_project_builder.slot_notify_project_modification(); } }
void AssemblyItem::slot_instantiate() { const string instance_name_suggestion = get_name_suggestion( string(m_assembly.get_name()) + "_inst", m_parent.assembly_instances()); const string instance_name = get_entity_name_dialog( treeWidget(), "Instantiate Assembly", "Assembly Instance Name:", instance_name_suggestion); if (!instance_name.empty()) { auto_release_ptr<AssemblyInstance> assembly_instance( AssemblyInstanceFactory::create( instance_name.c_str(), ParamArray(), m_assembly.get_name())); m_parent_item->get_assembly_instance_collection_item().add_item(assembly_instance.get()); m_parent.assembly_instances().insert(assembly_instance); m_project_builder.get_project().get_scene()->bump_version_id(); m_project_builder.notify_project_modification(); } }
void AssemblyCollectionItem::slot_create() { const string assembly_name_suggestion = get_name_suggestion("assembly", m_parent.assemblies()); const string assembly_name = get_entity_name_dialog( treeWidget(), "Create Assembly", "Assembly Name:", assembly_name_suggestion); if (!assembly_name.empty()) m_project_builder.insert_assembly(m_parent, m_parent_item, assembly_name); }
void AssemblyItem::slot_instantiate() { const string instance_name_suggestion = make_unique_name( string(m_assembly.get_name()) + "_inst", m_parent.assembly_instances()); const string instance_name = get_entity_name_dialog( treeWidget(), "Instantiate Assembly", "Assembly Instance Name:", instance_name_suggestion); if (!instance_name.empty()) instantiate(instance_name); }
void AssemblyItem::slot_instantiate() { const string instance_name_suggestion = get_name_suggestion( string(impl->m_assembly->get_name()) + "_inst", impl->m_scene.assembly_instances()); const string instance_name = get_entity_name_dialog( treeWidget(), "Instantiate Assembly", "Assembly Instance Name:", instance_name_suggestion); if (!instance_name.empty()) impl->m_project_builder.insert_assembly_instance(instance_name, *impl->m_assembly); }
void ObjectItem::slot_instantiate() { const string instance_name_suggestion = make_unique_name( string(m_entity->get_name()) + "_inst", m_parent.object_instances()); const string instance_name = get_entity_name_dialog( treeWidget(), "Instantiate Object", "Object Instance Name:", instance_name_suggestion); if (!instance_name.empty()) { if (m_project_builder.get_rendering_manager().is_rendering()) schedule_instantiate(instance_name); else do_instantiate(instance_name); } }
void AssemblyItem::slot_instantiate() { const string instance_name_suggestion = get_name_suggestion( string(m_assembly.get_name()) + "_inst", m_parent.assembly_instances()); const string instance_name = get_entity_name_dialog( treeWidget(), "Instantiate Assembly", "Assembly Instance Name:", instance_name_suggestion); if (!instance_name.empty()) { if (m_project_builder.get_rendering_manager().is_rendering()) schedule_instantiate(instance_name); else do_instantiate(instance_name); } }