AssemblyItem::AssemblyItem( Assembly& assembly, BaseGroup& parent, BaseGroupItem* parent_item, ProjectBuilder& project_builder, ParamArray& settings) : BaseGroupItem(g_class_uid, assembly, project_builder, settings) , m_assembly(assembly) , m_parent(parent) , m_parent_item(parent_item) , m_project_builder(project_builder) { set_title(QString::fromAscii(assembly.get_name())); set_allow_edition(false); insertChild( 3, m_bsdf_collection_item = add_multi_model_collection_item<BSDF>(assembly.bsdfs())); insertChild( 4, m_edf_collection_item = add_multi_model_collection_item<EDF>(assembly.edfs())); insertChild( 5, m_surface_shader_collection_item = add_multi_model_collection_item<SurfaceShader>(assembly.surface_shaders())); insertChild( 6, m_material_collection_item = add_multi_model_collection_item<Material>(assembly.materials())); insertChild( 7, m_light_collection_item = add_multi_model_collection_item<Light>(assembly.lights())); insertChild( 8, m_object_collection_item = new ObjectCollectionItem( assembly.objects(), assembly, this, project_builder, settings)); insertChild( 9, m_object_instance_collection_item = new ObjectInstanceCollectionItem( new_guid(), EntityTraits<ObjectInstance>::get_human_readable_collection_type_name(), assembly, project_builder)); m_object_instance_collection_item->add_items(assembly.object_instances()); }
AssemblyItem::AssemblyItem( EntityEditorContext& editor_context, Assembly& assembly, BaseGroup& parent, BaseGroupItem* parent_item) : BaseGroupItem(editor_context, g_class_uid, assembly) , m_assembly(assembly) , m_assembly_uid(assembly.get_uid()) , m_parent(parent) , m_parent_item(parent_item) { set_title(QString::fromAscii(assembly.get_name())); set_allow_edition(false); insertChild( 3, m_bsdf_collection_item = add_multi_model_collection_item<BSDF>(assembly.bsdfs())); insertChild( 4, m_bssrdf_collection_item = add_multi_model_collection_item<BSSRDF>(assembly.bssrdfs())); insertChild( 5, m_edf_collection_item = add_multi_model_collection_item<EDF>(assembly.edfs())); insertChild( 6, m_surface_shader_collection_item = add_multi_model_collection_item<SurfaceShader>(assembly.surface_shaders())); insertChild( 7, m_material_collection_item = new MaterialCollectionItem( m_editor_context, assembly.materials(), assembly, this)); insertChild( 8, m_light_collection_item = add_multi_model_collection_item<Light>(assembly.lights())); insertChild( 9, m_object_collection_item = new ObjectCollectionItem( m_editor_context, assembly.objects(), assembly, this)); insertChild( 10, m_object_instance_collection_item = new ObjectInstanceCollectionItem( m_editor_context, new_guid(), EntityTraits<ObjectInstance>::get_human_readable_collection_type_name(), assembly)); m_object_instance_collection_item->add_items(assembly.object_instances()); insertChild( 11, m_volume_collection_item = add_multi_model_collection_item<Volume>(assembly.volumes())); m_editor_context.m_item_registry.insert(m_assembly, this); }