ProjectItem::ProjectItem( ProjectBuilder& project_builder, ParamArray& settings) : ItemBase(g_project_class_uid, "Project") { set_allow_deletion(false); set_allow_edition(false); Project& project = project_builder.get_project(); m_scene_item = new SceneItem(*project.get_scene(), project_builder, settings); addChild(m_scene_item); ItemBase* rules_item = new ItemBase(g_rules_class_uid, "Rules"); rules_item->set_allow_deletion(false); rules_item->set_allow_edition(false); addChild(rules_item); m_render_layer_collection_item = new MultiModelCollectionItem<RenderLayerRule, Project, ProjectItem>( new_guid(), EntityTraits<RenderLayerRule>::get_human_readable_collection_type_name(), project, this, project_builder); m_render_layer_collection_item->add_items(project.render_layer_rules()); rules_item->addChild(m_render_layer_collection_item); m_output_item = new OutputItem(project, project_builder); addChild(m_output_item); }
FrameItem::FrameItem( EntityEditorContext& editor_context, Frame* frame) : ItemBase(editor_context, g_class_uid, frame->get_name()) , m_frame(frame) { set_allow_deletion(false); }
SceneItem::SceneItem( EntityEditorContext& editor_context, Scene& scene) : BaseGroupItem(editor_context, g_class_uid, "Scene", scene) { set_allow_deletion(false); set_allow_edition(false); QFont font; font.setBold(true); setFont(0, font); int child_index = 0; insertChild( child_index++, m_camera_collection_item = new MultiModelCollectionItem<Camera, Scene, SceneItem>( editor_context, new_guid(), EntityTraits<Camera>::get_human_readable_collection_type_name(), scene, this)); m_camera_collection_item->add_items(scene.cameras()); insertChild( child_index++, m_environment_item = new EnvironmentItem( editor_context, scene.get_environment(), scene, this)); m_environment_item->set_allow_deletion(false); m_environment_item->set_fixed_position(true); editor_context.m_item_registry.insert(*scene.get_environment(), m_environment_item); insertChild( child_index++, m_environment_edf_collection_item = new MultiModelCollectionItem<EnvironmentEDF, Scene, SceneItem>( editor_context, new_guid(), EntityTraits<EnvironmentEDF>::get_human_readable_collection_type_name(), scene, this)); m_environment_edf_collection_item->add_items(scene.environment_edfs()); insertChild( child_index++, m_environment_shader_collection_item = new MultiModelCollectionItem<EnvironmentShader, Scene, SceneItem>( editor_context, new_guid(), EntityTraits<EnvironmentShader>::get_human_readable_collection_type_name(), scene, this)); m_environment_shader_collection_item->add_items(scene.environment_shaders()); }
SceneItem::SceneItem( Scene& scene, ProjectBuilder& project_builder, ParamArray& settings) : BaseGroupItem(g_class_uid, "Scene", scene, project_builder, settings) { set_allow_deletion(false); set_allow_edition(false); insertChild( 0, m_camera_item = new CameraItem( scene.get_camera(), scene, project_builder)); m_camera_item->set_allow_deletion(false); m_camera_item->set_fixed_position(true); insertChild( 1, m_environment_item = new EnvironmentItem( scene.get_environment(), scene, project_builder)); m_environment_item->set_allow_deletion(false); m_environment_item->set_fixed_position(true); insertChild( 2, m_environment_edf_collection_item = new MultiModelCollectionItem<EnvironmentEDF, Scene, SceneItem>( new_guid(), EntityTraits<EnvironmentEDF>::get_human_readable_collection_type_name(), scene, this, project_builder)); m_environment_edf_collection_item->add_items(scene.environment_edfs()); insertChild( 3, m_environment_shader_collection_item = new MultiModelCollectionItem<EnvironmentShader, Scene, SceneItem>( new_guid(), EntityTraits<EnvironmentShader>::get_human_readable_collection_type_name(), scene, this, project_builder)); m_environment_shader_collection_item->add_items(scene.environment_shaders()); }