LUMIERA.clone/uml/lumiera/128901
Ichthyostega 56ceca398b The first substantial step towards a builder backbone
Defined the structure of the fixture and the outline
of the process leading to creating this data structure.
2010-12-05 02:46:36 +01:00

729 lines
23 KiB
Text

format 58
"Builder" // ProcessingLayer::MObject::Builder
revision 21
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_members_multiplicity default show_members_initialization default member_max_width 0 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 show_stereotype_properties default
//use case diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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_members_multiplicity default show_members_initialization default member_max_width 0 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties 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 show_stereotype_properties default
size A4
end
parameter 128645 "build Request" explicit_type ""
unordered
in
flow 130309 "<flow>"
on activityaction_ref 128645 // activity action configure Tools
end
end
activityaction 128645 "configure Tools"
opaque_action
flow 130821 "<flow>"
on activitynode_ref 129029 // fork
end
end
expansionregion 128133 "establish partitioning"
iterative
activityaction 128773 "define segment"
opaque_action
pin 128133 "inContent" explicit_type ""
unordered
in
end
flow 130693 "<flow>"
on expansionnode_ref 128133 // segments
end
end
expansionnode 128005 "segment Tool"
explicit_type ""
unordered is_control
flow 130565 "<flow>"
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 "<flow>"
on pin_ref 128133 // inContent
end
flow 131717 "<flow>"
on pin_ref 128133 // inContent
end
end
activitynode 129029 fork ""
flow 130949 "<flow>"
on expansionnode_ref 128005 // segment Tool
end
flow 131077 "<flow>"
on expansionnode_ref 128261 // build Tool
end
end
expansionregion 128261 "build Processors"
iterative
expansionnode 128261 "build Tool"
explicit_type ""
unordered is_control
flow 131205 "<flow>"
on activityaction_ref 128901 // activity action create ProcNode
end
end
expansionnode 128389 "segments"
explicit_type ""
unordered is_control
flow 131333 "<flow>"
on activityaction_ref 128901 // activity action create ProcNode
end
end
activityaction 128901 "create ProcNode"
opaque_action
flow 131461 "<flow>"
on activityaction_ref 129029 // activity action connect
end
end
activityaction 129029 "connect"
opaque_action
flow 131845 "<flow>"
on expansionnode_ref 128517 // complete Render Engine
end
end
expansionnode 128517 "complete Render Engine"
explicit_type ""
unordered is_control
flow 131973 "<flow>"
on activitynode_ref 129157 // activity_final
end
end
end
activitynode 129157 activity_final ""
end
activityobject 129157 "Timeline contents"
explicit_type ""
unordered
flow 133125 "<flow>"
on pin_ref 128133 // inContent
end
end
end
classdiagram 129285 "Builder Tool (Visitor)"
draw_all_relations no hide_attributes default hide_operations default show_members_full_definition yes show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 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 show_stereotype_properties default
size A4
end
class 130565 "BuilderFacade"
visibility public stereotype "boundary"
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_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 ""
php_decl ""
python_2_2 python_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 // <dependency>
relation 135685 -_->
a package
cpp default "#include in source"
classrelation_ref 137221 // <dependency>
b parent class_ref 134149 // BuilderTool
end
end
class 130821 "ConManager"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_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 ""
php_decl ""
python_2_2 python_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}}
"
php_decl ""
python_2_2 python_decl ""
idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
explicit_switch_type ""
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}}
"
php_decl ""
python_2_2 python_decl ""
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 // <generalisation>
relation 144261 ---|>
a public
cpp default "${type}"
classrelation_ref 146437 // <generalisation>
b 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}}
"
php_decl ""
python_2_2 python_decl ""
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 // <generalisation>
relation 144389 ---|>
a public
cpp default "${type}"
classrelation_ref 146565 // <generalisation>
b parent class_ref 140037 // Tool
end
classrelation 146693 // <generalisation>
relation 144517 ---|>
a public
cpp default "${type}"
classrelation_ref 146693 // <generalisation>
b 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 ""
php_decl ""
python_2_2 python_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 // <realization>
relation 135941 -_-|>
a public
cpp default "${type}"
classrelation_ref 137605 // <realization>
b 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 (<directional composition>)
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 (<directional composition>)
b parent class_ref 135173 // Segment
end
classrelation 146821 // <generalisation>
relation 144645 ---|>
a public
cpp default "${type}"
classrelation_ref 146821 // <generalisation>
b parent class_ref 140293 // Applicable
end
classrelation 163461 // <unidirectional association>
relation 158341 --->
stereotype "create"
a role_name "" protected
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 163461 // <unidirectional association>
b parent class_ref 147333 // Segmentation
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 ""
php_decl ""
python_2_2 python_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 // <realization>
relation 136069 -_-|>
a public
cpp default "${type}"
classrelation_ref 137733 // <realization>
b 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 // RenderGraph
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
php_decl ""
python_decl ""
idl_decl ""
comment "holds the Processor (Render Engine Element) to be built by the current build step"
end
classrelation 146949 // <generalisation>
relation 144773 ---|>
a public
cpp default "${type}"
classrelation_ref 146949 // <generalisation>
b parent class_ref 140293 // Applicable
end
end
classdiagram 132868 "Builder Entities"
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 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 show_stereotype_properties default
size A4
end
end
end