format 58
"Asset" // ProcessingLayer::Asset
  revision 19
  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 128901 "Assets"
    //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
    classdiagram 130309 "Asset Kinds"
      draw_all_relations no 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

    classdiagram 130437 "Media-Asset Relations"
      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

    classdiagram 131077 "Proc-Asset Relations"
      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

    classdiagram 131205 "Struct-Asset Relations"
      draw_all_relations no 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

    class 136453 "Asset"
      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 ""
      
      comment "Superinterface describing especially the bookeeping properties of Assets"
      attribute 130437 "id"
	const_attribute public explicit_type "long"
	init_value "AssetManager::register<KIND> (name, category, org, version)"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "Asset primary key."
      end

      attribute 130565 "name"
	const_attribute public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "element ID, comprehensible but sanitized. The tuple (category, name, org) is unique."
      end

      classrelation 140421 // category (<unidirectional association>)
	relation 138629 --->
	  a role_name "category" multiplicity "1" const_relation public
	    comment "primary tree like classification of the asset"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 140421 // category (<unidirectional association>)
	  b multiplicity "*" parent class_ref 137221 // Category
	  association_type class_ref 137221 // Category
      end

      attribute 130821 "org"
	const_attribute public explicit_type "string"
	init_value "cin3"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "origin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. \"blur\"). Default for all assets provided by the core Lumiera codebase is \"lumi\"."
      end

      attribute 130949 "version"
	const_attribute public explicit_type "uint"
	init_value "1"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "version number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions."
      end

      attribute 131077 "groups"
	protected explicit_type "set<string>"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "additional classification, selections or departments this asset belongs to. Groups are optional, non-exclusive and may be overlapping."
      end

      attribute 131205 "shortDesc"
	const_attribute protected explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "user visible Name-ID. To be localized."
      end

      attribute 131333 "longDesc"
	const_attribute protected explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "user visible qualification of the thing, unit or concept represented by this asset. perferably \"in one line\". To be localized."
      end

      operation 132101 "getParents"
	public explicit_return_type "vector<PAsset>"
	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 "List of entities this asset depends on or requires to be functional. May be empty. The head of this list can be considered the primary prerequisite"
      end

      operation 132229 "getDependant"
	public explicit_return_type "vector<PAsset>"
	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 "All the other assets requiring this asset to be functional. For example, all the clips depending on a given media file. May be empty. The dependency relation is transitive."
      end

      operation 132869 "isActive"
	public explicit_return_type "bool"
	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 "weather this asset is swithced on and consequently included in the fixture and participates in rendering"
      end

      operation 132997 "enable"
	public explicit_return_type "void"
	nparams 1
	  param in name "bool" explicit_type ""
	nexceptions 1
	  exception class_ref 135941 // State
	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 "change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well"
      end
    end

    class 136581 "AssetManager"
      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 "Facade for the Asset subsystem"
      operation 133125 "getID"
	class_operation public explicit_return_type ""
	nparams 1
	  param in name "idi" type class_ref 136453 // Asset
	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 132485 "getAsset"
	public explicit_return_type "KIND"
	nparams 1
	  param in name "id" explicit_type "long"
	nexceptions 1
	  exception class_ref 136069 // Invalid
	cpp_decl "    ${comment}template<class KIND>
${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0} & ${p0}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}template<class KIND>
${inline}${type}
${class}::${name} ${(}${t0} & ${p0}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
	
	
	comment "find and return corresponging object"
      end

      operation 132613 "known"
	public explicit_return_type "bool"
	nparams 1
	  param in name "id" explicit_type "long"
	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}
}

"
	
	
	
	
	comment "@return true if the given id is registered in the internal asset DB"
      end

      operation 132741 "remove"
	public explicit_return_type "void"
	nparams 1
	  param in name "id" explicit_type "long"
	nexceptions 2
	  exception class_ref 136069 // Invalid
	  exception class_ref 135941 // State
	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}
}

"
	
	
	
	
	comment "remove the given asset <i>together with all its dependants</i> from the internal DB"
      end

      operation 132357 "reg"
	class_operation protected explicit_return_type "long"
	nparams 4
	  param inout name "name" explicit_type "string"
	  param inout name "category" explicit_type "string"
	  param inout name "org" explicit_type "string"
	  param inout name "uint" explicit_type "version"
	nexceptions 1
	  explicit_exception "Invalid"
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, ${t3}& ${p3}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, ${t3}& ${p3}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
	
	
	comment "registers an asset object in the internal DB, providing its unique key"
      end

      classrelation 142085 // registry (<unidirectional association>)
	relation 140293 --->
	  a role_name "registry" multiplicity "1" protected
	    comment "@internal Table or DB holding all registered asset instances."
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 142085 // registry (<unidirectional association>)
	  b multiplicity "1" parent class_ref 138373 // DB
      end
    end

    class 136709 "Media"
      visibility public 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "key abstraction: media-like assets"
      classrelation 139909 // <realization>
	relation 138117 -_-|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 139909 // <realization>
	  b parent class_ref 136453 // Asset
      end

      operation 133253 "createClip"
	public return_type class_ref 128901 // Clip
	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 "create a (possibly compound) Clip refering to this media, ready to be added to the EDL."
      end

      operation 133381 "howtoProc"
	public return_type class_ref 138757 // ProcPatt
	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 "@return descriptor how to build a render pipeline corresponding to this media"
      end

      classrelation 143237 // <dependency>
	relation 141317 -_->
	  a default
	    cpp default "#include in header"
	    classrelation_ref 143237 // <dependency>
	  b parent class_ref 138757 // ProcPatt
      end
    end

    class 139397 "MediaFactory"
      visibility public 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "specialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well"
      simplerelation 129285
	-_->
	  on 
	  package_ref 129157 // BackendLayer
      end

      simplerelation 129413
	-_->
	  on 
	  package_ref 129157 // BackendLayer
      end

      classrelation 144261 // <dependency>
	relation 142341 -_->
	  a default
	    cpp default "#include in header"
	    classrelation_ref 144261 // <dependency>
	  b parent class_ref 139525 // MediaAccessFacade
      end
    end

    class 138501 "CompoundMedia"
      visibility public 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "compound of several elementary media tracks,
e.g. the individual media streams found in one media file"
      classrelation 142213 // <generalisation>
	relation 140421 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 142213 // <generalisation>
	  b parent class_ref 136709 // Media
      end

      classrelation 142341 // tracks (<directional aggregation>)
	relation 140549 o-->
	  stereotype "vector"
	  a role_name "tracks" multiplicity "1..*" protected
	    comment "elementary media assets comprising this compound"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
"
	    classrelation_ref 142341 // tracks (<directional aggregation>)
	  b multiplicity "*" parent class_ref 136709 // Media
      end
    end

    class 136837 "Proc"
      visibility public 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "key abstraction: data processing asset"
      classrelation 140037 // <realization>
	relation 138245 -_-|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 140037 // <realization>
	  b parent class_ref 136453 // Asset
      end
    end

    class 136965 "Struct"
      visibility public 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "key abstraction: structural asset"
      classrelation 140165 // <realization>
	relation 138373 -_-|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 140165 // <realization>
	  b parent class_ref 136453 // Asset
      end
    end

    class 137093 "Meta"
      visibility public 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      php_decl ""
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "key abstraction: metadata and organisational asset"
      classrelation 140293 // <realization>
	relation 138501 -_-|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 140293 // <realization>
	  b parent class_ref 136453 // Asset
      end
    end

    class 137221 "Category"
      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 "tree like classification of Assets"
    end

    class 137349 "Clip"
      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 "bookkeeping (asset) view of a media clip."
      classrelation 140549 // <generalisation>
	relation 138757 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 140549 // <generalisation>
	  b parent class_ref 136709 // Media
      end

      classrelation 141957 // source (<unidirectional association>)
	relation 140165 --->
	  a role_name "source" multiplicity "1" const_relation protected
	    comment "media source of this clip"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 141957 // source (<unidirectional association>)
	  b multiplicity "*" parent class_ref 136709 // Media
	  association_type class_ref 136709 // Media
      end
    end

    class 137477 "Unknown"
      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 "placeholder for unknown or unavailable media source"
      classrelation 146181 // <generalisation>
	relation 144005 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 146181 // <generalisation>
	  b parent class_ref 136709 // Media
      end
    end

    class 137605 "Preview"
      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 "alternative version of the media data, probably with lower resolution"
      classrelation 146309 // <generalisation>
	relation 144133 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 146309 // <generalisation>
	  b parent class_ref 137477 // Unknown
      end
    end

    class 137733 "Effect"
      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 "Effect or media processing component"
      classrelation 141061 // <generalisation>
	relation 139269 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 141061 // <generalisation>
	  b parent class_ref 136837 // Proc
      end
    end

    class 137861 "Codec"
      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 "description of some media data decoder or encoder facility"
      classrelation 141189 // <generalisation>
	relation 139397 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 141189 // <generalisation>
	  b parent class_ref 136837 // Proc
      end
    end

    class 137989 "Track"
      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 "structural asset holding the configuration of a track in the EDL"
      classrelation 141317 // <generalisation>
	relation 139525 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 141317 // <generalisation>
	  b parent class_ref 136965 // Struct
      end
    end

    class 138117 "Pipe"
      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 "structural asset representing a basic building block within the high level model: a port for building a processing chain and generating media output"
      classrelation 141445 // <generalisation>
	relation 139653 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 141445 // <generalisation>
	  b parent class_ref 136965 // Struct
      end

      classrelation 148101 // <dependency>
	relation 145925 -_->
	  a default
	    cpp default "#include in header"
	    classrelation_ref 148101 // <dependency>
	  b parent class_ref 138757 // ProcPatt
      end

      classrelation 148229 // wiringTemplate (<unidirectional association>)
	relation 146053 --->
	  a role_name "wiringTemplate" multiplicity "0..1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 148229 // wiringTemplate (<unidirectional association>)
	  b parent class_ref 138757 // ProcPatt
      end
    end

    class 138757 "ProcPatt"
      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 "special type of structural Asset representing information how to build some part of the render engine's processing nodes network."
      classrelation 143109 // <generalisation>
	relation 141189 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 143109 // <generalisation>
	  b parent class_ref 136965 // Struct
      end

      classrelation 143621 // instructions (<directional composition>)
	relation 141701 *-->
	  stereotype "vector"
	  a role_name "instructions" multiplicity "1..*" const_relation protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 143621 // instructions (<directional composition>)
	  b multiplicity "1" parent class_ref 139013 // BuildInstruct
      end
    end

    class 138245 "Dataset"
      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 "meta asset describing a collection of control data"
      classrelation 141573 // <generalisation>
	relation 139781 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 141573 // <generalisation>
	  b parent class_ref 137093 // Meta
      end
    end

    class 138373 "DB"
      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 "Implementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable."
    end

    class 139013 "BuildInstruct"
      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 "(Interface) building instructions to be executed by the Builder on the render node network under construction."
    end

    class 139141 "DoAttach"
      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 ""
      
      classrelation 143749 // <generalisation>
	relation 141829 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 143749 // <generalisation>
	  b parent class_ref 139013 // BuildInstruct
      end

      classrelation 144133 // nodes (<directional aggregation>)
	relation 142213 o-->
	  stereotype "vector"
	  a role_name "nodes" multiplicity "1..*" const_relation public
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 144133 // nodes (<directional aggregation>)
	  b parent class_ref 136837 // Proc
      end

      attribute 131461 "point"
	const_attribute public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	php_decl ""
	python_decl ""
	idl_decl ""
	comment "identifying the point where the nodes should be attached"
      end
    end

    class 139269 "DoRecurse"
      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 ""
      
      classrelation 143877 // <generalisation>
	relation 141957 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 143877 // <generalisation>
	  b parent class_ref 139013 // BuildInstruct
      end

      classrelation 144005 // subPattern (<unidirectional association>)
	relation 142085 --->
	  a role_name "subPattern" multiplicity "1" const_relation protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 144005 // subPattern (<unidirectional association>)
	  b multiplicity "*" parent class_ref 138757 // ProcPatt
      end
    end
  end
end
