format 40 "Builder" // ProcessingLayer::MObject::Builder revision 16 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 // BuilderTool 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 // BuilderTool 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 "State" 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 ---> stereotype "vector" 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 operation 135813 "fetch" public explicit_return_type "" 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 operation 135941 "allocateBuffer" public explicit_return_type "" 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 operation 136197 "releaseBuffer" public explicit_return_type "" 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 operation 136325 "isCalculated" public explicit_return_type "" 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 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" abstract cpp_virtual public explicit_return_type "void" nparams 1 param inout name "providedTool" type class_ref 134149 // BuilderTool cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" end classrelation 146437 // relation 144261 ---|> a public cpp default "${type}" classrelation_ref 146437 // b multiplicity "" parent class_ref 140165 // Visitable end end class 134149 "BuilderTool" abstract visibility public stereotype "interface" nactuals 1 actual class class_ref 140293 // Applicable rank 0 explicit_value "" 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" abstract cpp_virtual 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};" comment "This operation is to be overloaded for the specific MObject subclasses to be treated." end classrelation 146565 // relation 144389 ---|> a public cpp default "${type}" classrelation_ref 146565 // b multiplicity "" parent class_ref 140037 // Tool end classrelation 146693 // relation 144517 ---|> a public cpp default "${type}" classrelation_ref 146693 // b multiplicity "" parent class_ref 140293 // Applicable end end class 134277 "SegmentationTool" visibility package nactuals 1 actual class class_ref 140293 // Applicable rank 0 explicit_value "" 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 // BuilderTool 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 classrelation 139013 // segments () relation 137221 *--> stereotype "list" a role_name "segments" multiplicity "*" protected comment "the partitioning of the Timeline to be created by this tool." cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; " classrelation_ref 139013 // segments () b multiplicity "" parent class_ref 135173 // Segment end classrelation 146821 // relation 144645 ---|> a public cpp default "${type}" classrelation_ref 146821 // b multiplicity "" parent class_ref 140293 // Applicable end end class 134405 "NodeCreatorTool" visibility package nactuals 1 actual class class_ref 140293 // Applicable rank 0 explicit_value "" 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 // BuilderTool end operation 130309 "treat" public explicit_return_type "void" nparams 1 param inout name "something" type class_ref 134021 // Buildable cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130437 "treat" public explicit_return_type "void" nparams 1 param inout name "clip" type class_ref 128901 // Clip cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130565 "treat" public explicit_return_type "void" nparams 1 param inout name "effect" type class_ref 129029 // Effect cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 130693 "treat" public explicit_return_type "void" nparams 1 param inout name "auto" type class_ref 129925 // Auto cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${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 classrelation 146949 // relation 144773 ---|> a public cpp default "${type}" classrelation_ref 146949 // b multiplicity "" parent class_ref 140293 // Applicable end end end end