![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
#include "steam/mobject/session/scope.hpp"
A Placement scope within the high-level-model.
Within the Session/Model, Placements are used to attach MObjects; but beyond that, each Placement can contain other Placements, effectively forming a scope. Thus Scope is basically another view on Placements which are attached to the session. This (hidden) link to the session is utilised to establish the nesting of scopes and allow querying and navigating.
Actually, Scope is implemented through a PlacementRef pointing to the Placement which constitutes this Scope. We call this Placement the "scope top". A fork e.g. can contain several clips, but also nested sub forks, all of which would be within the scope of this fork. This scoping relation plays an important role when it comes to resolving properties of placement, like e.g. the output designation, overlay mode, sound pan position etc – properties from enclosing scopes will be inherited unless shaded by local definitions, similar to the behaviour known from most programming languages when referring to local variables.
Static Public Attributes | |
| static const Scope | INVALID = Scope() |
| constant invalid scope token. | |
Static Public Member Functions | |
| static Scope | containing (PlacementMO const &aPlacement) |
| discover the enclosing scope of a given Placement | |
| static Scope | containing (RefPlacement const &refPlacement) |
Public Member Functions | |
| Scope (PlacementMO const &constitutingPlacement) | |
| conversion of a scope top (placement) into a Scope. | |
| Scope () | |
| unlocated NIL scope | |
| Scope (PlacementMO::ID const &constitutingPlacement) | |
| Scope (Scope const &) | |
| Scope & | operator= (Scope const &) |
| operator std::string () const | |
| Scope | getParent () const |
| retrieve the parent scope which encloses this scope. | |
| PlacementMO & | getTop () const |
| bool | isValid () const |
| check if this scope can be located. | |
| bool | isRoot () const |
Friends | |
| bool | operator== (Scope const &, Scope const &) |
| as scopes are constituted by a "scope top" element (placement) registered within the PlacementIndex of the current session, equality is defined in terms of this defining placement. | |
| bool | operator!= (Scope const &, Scope const &) |
Private Attributes | |
| RefPlacement | anchor_ |
| Scope | ( | PlacementMO const & | constitutingPlacement | ) |
| Scope | ( | ) |
unlocated NIL scope
Definition at line 73 of file scope.cpp.
References Scope::anchor_, and PlacementRef< MX >::isValid().
Here is the call graph for this function:
|
explicit |
Definition at line 80 of file scope.cpp.
References Scope::anchor_, and PlacementRef< MX >::isValid().
Here is the call graph for this function:Definition at line 88 of file scope.cpp.
References Scope::anchor_, and Scope::isValid().
Here is the call graph for this function:
|
static |
discover the enclosing scope of a given Placement
Definition at line 184 of file scope.cpp.
References SessionServiceExploreScope::getScope().
Referenced by Scope::containing(), StructFactoryImpl::getFork_forSequence(), SessionElementQuery_test::run(), PlacementScope_test::verifyLookup(), and PlacementScope_test::verifyNavigation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 191 of file scope.cpp.
References Scope::containing().
Here is the call graph for this function:| operator std::string | ( | ) | const |
| Scope getParent | ( | ) | const |
retrieve the parent scope which encloses this scope.
| error::Invalid | if this is the root scope |
Definition at line 209 of file scope.cpp.
References Scope::anchor_, SessionServiceExploreScope::getScope(), Scope::isRoot(), and LERR_.
Referenced by ScopePath_test::check_Identity_and_Copy(), ScopePath_test::checkIteration(), QueryFocus_test::checkNavigation(), ScopePath_test::checkRelations(), ScopePath_test::navigate(), PlacementScope_test::verifyEquality(), and PlacementScope_test::verifyNavigation().
Here is the call graph for this function:
Here is the caller graph for this function:| PlacementMO & getTop | ( | ) | const |
Definition at line 198 of file scope.cpp.
References Scope::anchor_.
Referenced by ScopePath_test::navigate(), PlacementScope_test::verifyEquality(), and PlacementScope_test::verifyNavigation().
Here is the caller graph for this function:| bool isValid | ( | ) | const |
check if this scope can be located.
An default constructed Scope (i.e without defining Placement) can't be located and returns false here
Definition at line 231 of file scope.cpp.
References Scope::anchor_, and PlacementRef< MX >::isValid().
Referenced by steam::mobject::session::anonymous_namespace{query-focus.cpp}::___check_validTaget(), ScopePath_test::checkInvalidScopeDetection(), ScopePath_test::invalidPath(), ScopePath::navigate(), Scope::operator=(), and QueryFocus::push().
Here is the call graph for this function:
Here is the caller graph for this function:| bool isRoot | ( | ) | const |
Definition at line 221 of file scope.cpp.
References Scope::anchor_, and SessionServiceExploreScope::getScopeRoot().
Referenced by QueryFocusStack_test::automaticFrameHandling(), QueryFocus_test::checkNavigation(), QueryFocusStack_test::clear(), StructFactoryImpl::getFork_forSequence(), Scope::getParent(), QueryFocusStack::push(), QueryFocusStack_test::usePushedFrame(), and PlacementScope_test::verifyNavigation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 71 of file scope.hpp.
Referenced by Scope::Scope(), Scope::Scope(), Scope::getParent(), Scope::getTop(), Scope::isRoot(), Scope::isValid(), and Scope::operator=().
constant invalid scope token.
Definition at line 83 of file scope.hpp.
Referenced by ScopePath::ScopePath(), ScopePath_test::checkInvalidScopeDetection(), ScopePath::contains(), and ScopePath::moveUp().
as scopes are constituted by a "scope top" element (placement) registered within the PlacementIndex of the current session, equality is defined in terms of this defining placement.
Collaboration diagram for Scope: