format 40 "Builder" // ProcessingLayer::MObject::Builder revision 10 modified_by 5 "hiv" // class settings //class diagram settings draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default //use case diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //sequence diagram settings show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //component diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default draw_component_as_icon default show_component_req_prov default show_component_rea default //deployment diagram settings package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default draw_component_as_icon default show_component_req_prov default show_component_rea default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default //activity diagram settings package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default show_infonote default drawing_language default classview 128261 "Builder Workings" //class diagram settings draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //sequence diagram settings show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default //class settings //activity diagram settings package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default show_infonote default drawing_language default collaborationdiagram 128517 "build process" show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default comment "This figure shows the process of building and starting a RenderEngine" size A4 end activity 128005 "building the Engine" activitydiagram 129413 "build flow" package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations no shadow default show_infonote default drawing_language default size A4 end parameter 128645 "build Request" explicit_type "" unordered in flow 130309 "" on activityaction_ref 128645 // activity action configure Tools end end activityaction 128645 "configure Tools" opaque_action flow 130821 "" on activitynode_ref 129029 // fork end end expansionregion 128133 "establish partitioning" iterative activityaction 128773 "define segment" opaque_action pin 128133 "inFixture" explicit_type "" unordered in end flow 130693 "" on expansionnode_ref 128133 // segments end end expansionnode 128005 "segment Tool" explicit_type "" unordered is_control flow 130565 "" on activityaction_ref 128773 // activity action define segment end end expansionnode 128133 "segments" explicit_type "" unordered is_control end end activityobject 128005 "Fixture" explicit_type "" unordered simplerelation 128389 -_-> on activity_ref 128005 // building the Engine end flow 130181 "" on pin_ref 128133 // inFixture end flow 131717 "" on pin_ref 128133 // inFixture end end activitynode 129029 fork "" flow 130949 "" on expansionnode_ref 128005 // segment Tool end flow 131077 "" on expansionnode_ref 128261 // build Tool end end expansionregion 128261 "build Processors" iterative expansionnode 128261 "build Tool" explicit_type "" unordered is_control flow 131205 "" on activityaction_ref 128901 // activity action create ProcNode end end expansionnode 128389 "segments" explicit_type "" unordered is_control flow 131333 "" on activityaction_ref 128901 // activity action create ProcNode end end activityaction 128901 "create ProcNode" opaque_action flow 131461 "" on activityaction_ref 129029 // activity action connect end end activityaction 129029 "connect" opaque_action flow 131845 "" on expansionnode_ref 128517 // complete Render Engine end end expansionnode 128517 "complete Render Engine" explicit_type "" unordered is_control flow 131973 "" on activitynode_ref 129157 // activity_final end end end activitynode 129157 activity_final "" end end classdiagram 129285 "Builder Entities" draw_all_relations default hide_attributes default hide_operations default show_members_full_definition yes show_members_visibility default show_members_stereotype default show_parameter_dir no show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default size A4 end class 130565 "BuilderFacade" visibility public stereotype "boundary" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" comment "Provides unified access to the builder functionality. While individual components of the builder subsystem may be called if necessary or suitable, it is usually better to do all extern invocations via the high level methods of this Facade" operation 128517 "buildEngine" public return_type class_ref 131333 // RenderEngine nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " comment "Main Operation of the Builder: create a render engine for a given part of the timeline" end end class 130693 "ToolFactory" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" operation 128773 "configure" public return_type class_ref 134149 // Tool nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end classrelation 137221 // relation 135685 -_-> a package cpp default "#include in source" classrelation_ref 137221 // b multiplicity "" parent class_ref 134149 // Tool end end class 130821 "ConManager" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Connection Manager, used to build the connections between render engine nodes, if these nodes need to cooperate besides the normal \"data pull\" operation. Esp., the Connection Manager knows how to wire up the effect's parameters with the corresponding ParamProviders (autmation) in the Session" operation 129029 "getConnection" public explicit_return_type "int" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " comment "TODO" end end class 131077 "Assembler" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "This is the actual building facility: provided the correct tools and associations, it serves to build and connect the individual ProcNode objects" operation 128901 "build" public return_type class_ref 131333 // RenderEngine nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end end class 132741 "StateProxy" abstract visibility public stereotype "interface" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" classrelation 135941 // currFrame () relation 134533 ---> a role_name "currFrame" multiplicity "" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value}; " classrelation_ref 135941 // currFrame () b multiplicity "1" parent class_ref 133253 // Frame end end class 134021 "Buildable" abstract visibility public stereotype "interface" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" operation 129669 "apply" public explicit_return_type "void" nparams 1 param in name "provided_tool" explicit_type "Tool" cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end end class 134149 "Tool" abstract visibility public stereotype "interface" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" comment "Used according to the visitor pattern: each Tool contains the concrete implementation for one task to be done to the various MObject classes" operation 129797 "treat" public explicit_return_type "void" nparams 1 param in name "mElement" type class_ref 134021 // Buildable cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " comment "This operation is to be overloaded for the specific MObject subclasses to be treated." end end class 134277 "SegmentationTool" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Tool implementation for deriving a partitioning of the current timeline such, that each segement has a constant configuration. \"Constant\" means here, that any remaining changes over time can be represented by automation solely, without the need to change the node connections." classrelation 137605 // relation 135941 -_-|> a public cpp default "${type}" classrelation_ref 137605 // b multiplicity "" parent class_ref 134149 // Tool end operation 129925 "treat" public explicit_return_type "void" nparams 1 param in name "something" type class_ref 134021 // Buildable cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130181 "treat" public explicit_return_type "void" nparams 1 param in name "clip" type class_ref 128901 // Clip cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130053 "treat" public explicit_return_type "void" nparams 1 param in name "effect" type class_ref 129029 // Effect cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end attribute 129669 "segments" private explicit_type "void*" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "holds the segemntation to be constructed. TODO: Segment type" end end class 134405 "NodeCreatorTool" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "This Tool implementation plays the central role in the buld process: given a MObject from Session, it is able to attach ProcNodes to the render engine under construction such as to reflect the properties of the MObject in the actual render." classrelation 137733 // relation 136069 -_-|> a public cpp default "${type}" classrelation_ref 137733 // b multiplicity "" parent class_ref 134149 // Tool end operation 130309 "treat" public explicit_return_type "void" nparams 1 param in name "something" type class_ref 134021 // Buildable cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130437 "treat" public explicit_return_type "void" nparams 1 param in name "clip" type class_ref 128901 // Clip cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130565 "treat" public explicit_return_type "void" nparams 1 param in name "effect" type class_ref 129029 // Effect cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130693 "treat" public explicit_return_type "void" nparams 1 param in name "auto" type class_ref 129925 // Auto cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end attribute 129797 "proc" protected type class_ref 131461 // Processor cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "holds the Processor (Render Engine Element) to be built by the current build step" end end end end