|
Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
A fish scale for dealing with dependencies on grid objects. More...
#include <FishGrid.hpp>
Public Member Functions | |
| Fish (const string &s="grid", int prior=2) | |
| Constructor, optionally pass a parameter of this grid's name (ie. | |
| virtual | ~Fish () |
| Destructor. | |
| void | registerGridAsOutput () |
| Make grid visible as output. | |
| Fiber::Bundle::GridInfo_t | findMostRecentGrid (GridSelector &GS, const RefPtr< ValuePool > &VP, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const |
| This is a convenience function to find the most recent grid for the current time ( Fish<Slice>() or virtual function getTime() ). | |
| Fiber::Bundle::GridInfo_t | findMostRecentGrid (const RefPtr< ValuePool > &VP, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const |
| Find the most recent grid for the current time ( Fish<Slice>() or virtual function getTime() ). | |
| virtual GridSelector | getGridSelector (const RefPtr< ValuePool > &VP) const |
| Provide the current Grid selector, which usually would be taken from the intrinsic TypedSlot, such as equivalent to: | |
| Fiber::Info< Fiber::Skeleton > | getRefinementLevel (int Level, const RefPtr< ValuePool > &VP, int IndexDepth=0, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const override |
| Get an refinement level for the given spacetime based on the GridSelector as returned by getGridSelector(). | |
| bool | IterateLevelsOnMostRecentGrid (LevelIterator &LI, const RefPtr< ValuePool > &Context, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const |
| Iterate over all the selected levels of a Grid via an instance of the LevelIterator. | |
| RefPtr< Fiber::Field > | getField (const Fiber::FieldSelector &FS, const RefPtr< ValuePool > &VP, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) |
| Retrieve a field for the given FieldSelector on the currently selected Grid. | |
| Public Member Functions inherited from Wizt::Fish< double > | |
| Fish () | |
| Default constructor. | |
| ~Fish () | |
| Destructor. | |
| virtual double | getTime (const RefPtr< ValuePool > &VP, const RefPtr< Fiber::Bundle > &SpaceTime) const =0 |
| Most virtual time retrieval function. | |
| virtual int | getMaxRefinementLevel (const RefPtr< ValuePool > &VP) const |
| Get the maximum refinement level that we seek to handle here. | |
| virtual int | getMinRefinementLevel (const RefPtr< ValuePool > &VP) const |
| bool | IterateLevels (LevelIterator &LI, const Fiber::Info< Fiber::Grid > &G, const RefPtr< ValuePool > &Context) const |
| Iterate over the diverse refinement levels of a Grid, which may exist at times different from the given coarsest grid. | |
| Public Member Functions inherited from Wizt::VConnectable | |
| virtual void | adjustConnections (const RefPtr< VSlot > &ChangedSlot, const RefPtr< VParameter > &par) |
| VSlotContainer::AttachErrorCode | attach (const ParameterID &whichone, VSlotContainer &sourceObject, const ParameterID &sourceName) |
| AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| AttachErrorCode | attachUniqueObject (const RefPtr< VParameter > ¶m, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| AttachErrorCode | attachUniqueObject (const RefPtr< VSlot > &slot, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| RefPtr< VSlot > | Connect (const RefPtr< VParameter > &SourceParam) |
| RefPtr< VSlot > | ConnectInterface (const RefPtr< VSlotContainer > &Provider, const RefPtr< InterfaceBase > &IB) |
| virtual bool | CreatedFilteredConnection (const RefPtr< VParameter > &SourceParam) |
| Public Member Functions inherited from Wizt::VSlotContainer | |
| Ageable & | age (const RefPtr< ValuePool > &VP) |
| const Ageable & | age (const RefPtr< ValuePool > &VP) const |
| const Ageable & | ConnectionAge () const |
| bool | ConnectionsHaveChanged (const RefPtr< ValuePool > &VP) const |
| bool | HasYoungerInput (const RefPtr< ValuePool > &Context, int RecursionLevel=0) const |
| Ageable | YoungestInput (const RefPtr< ValuePool > &Context) const |
| Ageable | YoungestOutput (const RefPtr< ValuePool > &Context) const |
| Ageable | YoungestUncachedInput (const RefPtr< ValuePool > &Context) const |
| bool | CheckIfThereExistNewerOutputs (const VRequest &request, bool AdjustObjectAge) const |
| RefPtr< VSlot > | addParameter (const ParameterID &name, int EL, const RefPtr< VParameter > ¶m, bool overwriteExistingSlot) |
| virtual bool | allowParameterReplacement (const RefPtr< VParameter > &NewParam, const RefPtr< VParameter > &OldParam, const string &localName, int ExpertLevel) |
| virtual int | connectSlots (const VSlotContainerPtr &vobj) |
| bool | removeParameter (const ParameterID &s) |
| RefPtr< VParameter > | getParameter (const ParameterID &s) const |
| RefPtr< VSlot > | getSlot (const ParameterID &s, int &EL) const |
| bool | setSlotValueFromText (const ParameterID &s, const string &ValueText, const RefPtr< ValuePool > &VP, const string &theMember={}) |
| RefPtr< VSlot > | findSlot (const RefPtr< VParameter > ¶m) const |
| string | getSlotName (const RefPtr< VParameter > ¶m) const |
| bool | AddAction (const ParameterID &s, const RefPtr< ValueActionBase > &VAB) |
| bool | AddAction (const RefPtr< VSlot > &ActionSlot, bool(DerivedObject::*Action)(const RefPtr< VValueBase > &value)) |
| RefPtr< VParameter > | mkUniqueParameterInput (const ParameterID &s, const string &ContainerName) |
| int | getExpertLevel (const ParameterID &s) const |
| int | setExpertLevel (const ParameterID &s, int EL) |
| int | getExpertLevel (const RefPtr< VParameter > &) const |
| int | getExpertLevel (const RefPtr< VSlot > &S) const |
| int | setExpertLevel (const RefPtr< VSlot > &S, int EL) |
| int | setExpertLevel (const RefPtr< VParameter > &s, int EL) |
| bool | hasChanged (const ParameterID &s, const RefPtr< ValuePool > &Context) const |
| bool | hasChanged (const RefPtr< VSlot > &, const RefPtr< ValuePool > &Context) const |
| bool | hasChanged (const RefPtr< ValuePool > &Context, int n,...) const |
| bool | hasChanged (RefPtr< ValuePool > Context,...) const |
| virtual bool | ignoreInput (const RefPtr< VSlot > &theSlot) const |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP) const |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const VContext &C) const |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const VRequest &R) const |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP, bool autoCreateLocalValue) const |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, VContext &C, bool autoCreateLocalValue) const |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, VRequest &R, bool autoCreateLocalValue=false) const |
| RefPtr< VSlot > | addParam (const ParameterID &name, const Type &init, const RefPtr< VCreationPreferences > &VP=NullPtr(), int expertLevel=0, bool overwriteExistingSlot=true) |
| bool | setParameterProperty (const ParameterID ¶m, const string &Properties, const RefPtr< VValueBase > &Value=NullPtr()) |
| RefPtr< VSlot > | addFloatParam (double init, const ParameterID ¶m, double min, double max, const RefPtr< VCreationPreferences > &IP=NullPtr(), int expertLevel=0) |
| AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| int | iterateParameters (int expertLevel, VSlotIterator &VIIt) const |
| int | iterateInputSlots (int expertLevel, VSlotIterator &VIIt) const |
| int | iterateInputs (VSlotIterator &VIIt, int expertLevel=0) |
| int | iterate_inputs (const std::function< bool(VSlot &what, int ExpertLevel)>) const |
| RefPtr< VSlot > | getUniqueInputSlot (const type_info &what) |
| int | getNumberOfParameters (int expertLevel) const |
| virtual bool | implements (const type_info &what) const |
| virtual RefPtr< VParameter > | getImplementation (const type_info &what, const string &name={}, const string &member={}) const |
| RefPtr< VSlot > | getImplementationSlot (const type_info &what, const string &Name={}, const string &Member={}) const |
| VAcceptInfoList_t | getAcceptInfoList (const std::type_info &request_type) const |
| bool | provides (const RefPtr< VSlot > &OutputSlot) const |
| RefPtr< VSlot > | findOutputSlot (const RefPtr< VParameter > &Who) const |
| bool | isYounger (const RefPtr< VParameter > &OutputParam, const RefPtr< ValuePool > &VP) const |
| bool | isNewlyConnected (const RefPtr< VParameter > &Who, const RefPtr< ValuePool > &VP) const |
| bool | hasNewlyConnectedOutputs (const RefPtr< ValuePool > &VP) const |
| void | findNewlyConnectedOutputs (const RefPtr< ValuePool > &VP, VSlotSet &WhichOnes) const |
| RefPtr< VSlot > | getOutput (const string &Name) const |
| RefPtr< MemCore::StringList > | getOutputs (const type_info &what=typeid(void)) const |
| virtual int | iterateOutputs (VOutputIterator &VOut, const type_info &just_these=typeid(void)) const |
| bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName={}) |
| bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName, const type_info &MemberType, const string &UseMember) |
| bool | registerOutput (const RefPtr< VParameter > &P, const type_info &MemberType, const string &UseMember) |
| int | getNumberOfInputs () const |
| int | getNumberOfOutputs () const |
| bool | hasChangedSlots (const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) const |
| auto | include_self (const std::tuple< SlotList... > &t) const -> decltype(std::tuple_cat(std::make_tuple(this), t)) |
| Public Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| auto | getObjectCountID () const noexcept |
| bool | isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept |
| void | mkAutoDestructive () |
| refcount_t | refcount () const noexcept |
| ReferenceBase (Object *that) noexcept | |
| const auto & | self () const |
| refcount_t | wrefcount () const noexcept |
Public Attributes | |
| TypedSlot< Fiber::Grid > | MyGrid |
| Public Attributes inherited from Wizt::VSlotContainer | |
| AllLevels | |
| DestParameterNotFound | |
| InvalidDestParameter | |
Additional Inherited Members | |
| Public Types inherited from Wizt::VSlotContainer | |
| enum | AttachErrorCode |
| typedef void | AcceptableInputTypes |
| typedef VSlotSet | CreationSlots_t |
| typedef VSlot::Empty< I > | Empty |
| Public Types inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| typedef Object | reference_domain_t |
| typedef WeakPtr< Object, Object > | SelfPtr_t |
| Static Public Member Functions inherited from Wizt::VConnectable | |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VParameter > &ProvidedParam, const string &Member={}) |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VSlot > &SourceSlot, const string &Member={}) |
| static bool | detachSlot (const RefPtr< VSlot > &SourceSlot) |
| Static Public Member Functions inherited from Wizt::VSlotContainer | |
| static const char * | AttachErrorCodeMessage (AttachErrorCode) |
| static bool | attachParameter (const RefPtr< VParameter > &theProvidedParam, const WeakPtr< VSlot > &theDestSlot, const string &theMember={}) |
| Static Public Member Functions inherited from Wizt::ValueCacheable | |
| static ValueCache & | consider (MemCore::Intercube &IC, const WeakPtr< VSlot > &VS, const RefPtr< ValuePool > &Context) |
| static ValueCache & | getValueCache (MemCore::Intercube &IC) |
| static bool | hasChangedSlots (const WeakPtrToVSlotContainer &theSlotOwner, const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) |
| Protected Member Functions inherited from Wizt::VSlotContainer | |
| virtual void | setup (const CreationSlots_t &CreationSlots) |
| Protected Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| virtual void | extremeUnction () |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| void | suicide () |
A fish scale for dealing with dependencies on grid objects.
VISH input objects and routines to retrieve a Grid object from a fiber bundle data set.
| Wizt::Fish< Fiber::Grid >::Fish | ( | const string & | s = "grid", |
| int | prior = 2 ) |
Constructor, optionally pass a parameter of this grid's name (ie.
the name of the slot that will refer to a grid object).
References Fish().
Referenced by Wizt::FieldObject::FieldObject(), Fish(), ~Fish(), getField(), getRefinementLevel(), Wizt::VertexFieldCollection::getRefinementLevel(), and IterateLevelsOnMostRecentGrid().
| Fiber::Bundle::GridInfo_t Wizt::Fish< Fiber::Grid >::findMostRecentGrid | ( | GridSelector & | GS, |
| const RefPtr< ValuePool > & | VP, | ||
| const Fiber::BundlePtr & | SpaceTime = Fiber::BundlePtr(NullPtr()) ) const |
This is a convenience function to find the most recent grid for the current time ( Fish<Slice>() or virtual function getTime() ).
This is only valid when using the GridSelector of the Fish's Grid. If you add a secondary Grid via a TypedSlot<Grid> you must not use this function for the second Grid. Use the findMostRecentGrid() function of the GridSelector instead. Here is an example when accessing one Fish Grid and a secondary Grid in an update() function of a VObject derived from a Fish<Grid>:
| GS | Return information about the current grid selection. |
| VP | The context relative to which this selection is to be made |
| SpaceTime | An optional alternative spacetime from which this grid is retrieved. It will be queried under the same name and under the same time as here. |
Referenced by findMostRecentGrid(), getField(), IterateLevelsOnMostRecentGrid(), Wizt::FragmentPainter::renderFragments(), Fiber::NamedField< FieldName >::update(), and Wizt::FieldObject::update().
| RefPtr< Field > Wizt::Fish< Fiber::Grid >::getField | ( | const Fiber::FieldSelector & | FS, |
| const RefPtr< ValuePool > & | VP, | ||
| const Fiber::BundlePtr & | SpaceTime = Fiber::BundlePtr(NullPtr() ) ) |
Retrieve a field for the given FieldSelector on the currently selected Grid.
This field may possibly not exist yet on this Grid and must be computed first via EvalGrid(). This may be computationally intensive.
References Fish(), findMostRecentGrid(), and Fiber::GridField::getField().
|
virtual |
Provide the current Grid selector, which usually would be taken from the intrinsic TypedSlot, such as equivalent to:
However, for special cases a child class may this function and take the GridSelector from another source.
Reimplemented in Wizt::VertexFieldCollection.
Referenced by Wizt::SkeletonOperatorBase::getTime(), and Fiber::NamedField< FieldName >::update().
|
overridevirtual |
Get an refinement level for the given spacetime based on the GridSelector as returned by getGridSelector().
Implements Wizt::Fish< double >.
Reimplemented in Wizt::VertexFieldCollection.
References Fish(), and Wizt::Fish< double >::IterateLevels().
|
inline |
Iterate over all the selected levels of a Grid via an instance of the LevelIterator.
Use code like this in a subclass derived from Fish<Field> :
References Fish(), and findMostRecentGrid().