FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | Public Attributes | List of all members
Wizt::AnalyticGrid Class Referenceabstract

A VObject which creates a fiber bundle with a scalar Field on a uniform Grid. More...

#include <AnalyticGrid.hpp>

Inheritance diagram for Wizt::AnalyticGrid:
Wizt::VObject Wizt::VTraceRequestID Wizt::VInputClassRecognition Wizt::VScriptable Wizt::VManagedDomainObject< VObject > Wizt::VSaveable Wizt::VStateCreatorBase Wizt::VConnectable Wizt::VManagedObjectBase Kerr44::KerrBlackHole44

Public Member Functions

 AnalyticGrid (const string &name, int p, const RefPtr< VCreationPreferences > &VP)
 
virtual void CreateFields (VRequest &Context, double time, Grid &G, double precision)=0
 
bool update (VRequest &Context, double precision) override
 
- Public Member Functions inherited from Wizt::VObject
string CreatorName () const
 
const WeakPtrVCreatorBasegetCreator () const
 
virtual bool request (VRequest &, double precision, const WeakVObjectPtr &ImmediateRequestor, const WeakVObjectPtr &RootRequestor)
 
bool schedule (double precision, const RefPtr< ValuePool > &Context=nullptr)
 
void enableRequestProcessing ()
 
void disableRequestProcessing ()
 
bool acceptsRequests () const
 
const MemCore::CounterUpdateCount () const
 
const MemCore::CounterRequestCount () const
 
 VObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP)
 
virtual const GimpIcongimp_icon () const
 
virtual const char *constxpm_icon () const
 
virtual string qt_icon () const
 
virtual string help (HelpType=HTMLText) const
 
bool setObjectAsChild (const VObjectPtr &childVObject, const string &DependencySlotName)
 
double requestTime () const
 
void remove ()
 
const RefPtr< VCreationPreferences > & CreationPreferences () const
 
virtual std::string type_key () const
 
void iterateParents (VObjectIterator &VOI, int EL=0) const
 
int iterateParents (const VObjectIterator_f &VOI, int EL=0) const
 
virtual string CreateParameterName (const ParameterID &name) const
 
int iterateChildren (ChildIterator &) const
 
int findChildren (const Lambda &theLambda) const
 
std::list< std::vector< std::string > > getProvenance () const
 
AttachErrorCode attachNewObject (const RefPtr< VSlot > &slot, const string &name, const Intercube &CreationContext, const RefPtr< VCreationPreferences > &VCP=nullptr)
 
AttachErrorCode attachNewObject (const RefPtr< VSlot > &slot, const string &name, const RefPtr< VCreationPreferences > &VCP=nullptr)
 
AttachErrorCode attachInputObject (const RefPtr< VSlot > &slot, const string &name={}, const RefPtr< VCreationPreferences > &VCP=nullptr, bool ReallyUnique=true)
 
CreateConnectionResult_t createChild (const VAcception &VA, const Intercube &CreationContext)
 
CreateConnectionResult_t connectChild (const VObjectPtr &ChildObject, const RefPtr< VAcceptInfo > &VA)
 
CreateConnectionResult_t connectAsChild (const VObjectPtr &ChildObject, const VAcception &VA)
 
virtual void InputCreation (const RefPtr< VParameter > &CurrentObjectsInput, const VObjectPtr &NewlyCreatedObject, const RefPtr< VParameter > &TheNewObjectsOutputParameter)
 
VObjectPtr createInput (const WeakPtrVCreatorBase &VCrec, const RefPtr< VSlot > &what, const string &name, Intercube &CreationContext)
 
VObjectPtr extractSlot (const RefPtr< VSlot > &theSlot, const string &theNewName=string()) const
 
- 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 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 > &param, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true)
 
AttachErrorCode attachUniqueObject (const RefPtr< VSlot > &slot, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true)
 
RefPtr< VSlotConnect (const RefPtr< VParameter > &SourceParam)
 
RefPtr< VSlotConnectInterface (const RefPtr< VSlotContainer > &Provider, const RefPtr< InterfaceBase > &IB)
 
virtual bool CreatedFilteredConnection (const RefPtr< VParameter > &SourceParam)
 
- Public Member Functions inherited from Wizt::VSlotContainer< int ExpertLevel >
Ageableage (const RefPtr< ValuePool > &VP)
 
const Ageableage (const RefPtr< ValuePool > &VP) const
 
const AgeableConnectionAge () 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< VSlotaddParameter (const ParameterID &name, int EL, const RefPtr< VParameter > &param, 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< VParametergetParameter (const ParameterID &s) const
 
RefPtr< VSlotgetSlot (const ParameterID &s, int &EL) const
 
bool setSlotValueFromText (const ParameterID &s, const string &ValueText, const RefPtr< ValuePool > &VP, const string &theMember={})
 
RefPtr< VSlotfindSlot (const RefPtr< VParameter > &param) const
 
string getSlotName (const RefPtr< VParameter > &param) const
 
bool AddAction (const ParameterID &s, const RefPtr< ValueActionBase > &VAB)
 
bool AddAction (const RefPtr< VSlot > &ActionSlot, bool(DerivedObject::*Action)(const RefPtr< VValueBase > &value))
 
RefPtr< VParametermkUniqueParameterInput (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< VSlotaddParam (const ParameterID &name, const Type &init, const RefPtr< VCreationPreferences > &VP=NullPtr(), int expertLevel=0, bool overwriteExistingSlot=true)
 
bool setParameterProperty (const ParameterID &param, const string &Properties, const RefPtr< VValueBase > &Value=NullPtr())
 
RefPtr< VSlotaddFloatParam (double init, const ParameterID &param, 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< VSlotgetUniqueInputSlot (const type_info &what)
 
int getNumberOfParameters (int expertLevel) const
 
virtual bool implements (const type_info &what) const
 
virtual RefPtr< VParametergetImplementation (const type_info &what, const string &name={}, const string &member={}) const
 
RefPtr< VSlotgetImplementationSlot (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< VSlotfindOutputSlot (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< VSlotgetOutput (const string &Name) const
 
RefPtr< MemCore::StringListgetOutputs (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))
 
 in (VSlotContainer *that, const string &name, int expertLevel=0)
 
 in (VSlotContainer *that, const string &name, const GridSelector &GS=GridSelector(), int expertLevel=0)
 
 out (VConnectable *Source, const string &initial_name, const Fiber::GridSelector &InitValue=GridSelector(), const RefPtr< VCreationPreferences > &CP=NullPtr())
 
- Public Member Functions inherited from Wizt::VStateCreatorBase
RefPtr< State > & getState (const WeakPtr< ValuePool > &VP) const
 
RefPtr< InterfaceBasehasLocalInterface (const type_info &InterfaceType) const
 
RefPtr< State > myState (const WeakPtr< ValuePool > &Context) const
 
virtual RefPtr< State > newState () const
 
void setState (const WeakPtr< ValuePool > &, const RefPtr< State > &st) const
 
- Public Member Functions inherited from Wizt::VSaveable
void addSaver (const string &, const RefPtr< VishSaver > &)
 
void addSavers (AppClass &A)
 
bool autosave () const
 
RefPtr< VishSavergetMostRecentSaver () const
 
size_t getNumberOfSavers () const
 
RefPtr< VishSavergetSaver (const string &) const
 
RefPtr< VishSavergetSaverByExt (const string &ext) const
 
int iterate_savers (const save_iterator &si) const
 
- Public Member Functions inherited from Wizt::VManagedDomainObject< VObject >
const type_infogetDomainType () const override
 
void remove ()
 
 VManagedDomainObject (const string &name, int priority=DEFAULT_PRIORITY)
 
- Public Member Functions inherited from Wizt::VManagedObject
string getLoadModule () const
 
void insert (const string &s, int priority=DEFAULT_PRIORITY)
 
void remove ()
 
void setPriority (int priority)
 
 VManagedObject (const string &name, int priority=DEFAULT_PRIORITY)
 
- Public Member Functions inherited from MemCore::Intercube
void addInterface (const RefPtr< InterfaceBase > &I) const
 
void addInterfaceData (const Data &D)
 
void addInterfaceData (const Data &D)
 
void clearInterfaces ()
 
bool const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const
 
virtual RefPtr< InterfaceBasecreateInterface (const type_info &) const
 
RefPtr< InterfaceBasefindInterface (const type_info &t) const
 
RefPtr< InterfaceBasegetInterface (const type_info &t)
 
std::string getInterfaceNames (const char delim=';') const
 
bool gotNewInterfaceData (const Data &D)
 
bool gotNewInterfaceData (mutex &M, const Data &D)
 
bool gotNewInterfaceData (mutex &M, const Data &D)
 
bool gotNewInterfaceData (mutex &M, const Data &D, const Selector &S)
 
bool gotNewInterfaceData (mutex &M, const Data &D, const Selector *S)
 
bool hasChangedInterfaceData (const Data &D) const
 
bool hasChangedInterfaceData (const Data &D) const
 
bool hasChangedInterfaceData (const Data &D, const Selector &) const
 
bool hasChangedInterfaceData (const Data &D, const Selector *) const
 
bool hasInterface (const type_info &t) const
 
bool iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP)
 
void printInterfaces () const
 
void registerInterface (const type_info &t)
 
void removeInterface ()
 
void removeInterfaceBase (const type_info &InterfaceBaseID)
 
- Public Member Functions inherited from MemCore::MutableName
void addNameChangeNotifier (const WeakPtr< Notifier > &)
 
std::string BaseName (const char Separator) const
 
const std::string & getName () const
 
 MutableName (const std::string &theName)
 
const std::string & Name () const
 
void rename (const std::string &newName)
 
void setName (const std::string &newName)
 
- Public Member Functions inherited from Wizt::VScriptable
RefPtr< VScriptFunctorfindFunctor (const string &name) const
 
RefPtr< VScriptFunctorinsertFunctor (const string &name, const RefPtr< VScriptFunctor > &)
 
bool iterate (iterator &it)
 
int nFunctors () const
 
void removeFunctor (const string &name)
 
- Public Member Functions inherited from Wizt::VTraceRequestID
bool addRequest (const VRequest &request)
 
bool hasRequest (const VRequest &request) const
 

Public Attributes

VOutput< BundlePtrmyBundle
 
TypedSlot< intTimeSteps
 
TypedSlot< doubleTMax
 
TypedSlot< intGridSizeXY
 
TypedSlot< intGridSizeZ
 
TypedSlot< doubleZstretch
 
double BBoxSize
 
string gridname
 
- Public Attributes inherited from Wizt::VObject
 HelpURL
 
 HTMLText
 
 PlainText
 
 ShortHTMLText
 
 ShortText
 
string UserInfo
 
- Public Attributes inherited from Wizt::VSlotContainer< int ExpertLevel >
 AllLevels
 
 DestParameterNotFound
 
 InvalidDestParameter
 

Additional Inherited Members

- Public Types inherited from Wizt::VObject
enum  HelpType
 
typedef void AcceptableInputTypes
 
typedef VConnectable::Empty< IEmpty
 
typedef std::function< bool(const RefPtr< VObject > &vobj, const VSlot &ChildConnection)> VObjectIterator_f
 
- Public Types inherited from MemCore::ReferenceBase< VManagedObjectBase >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 
- Public Types inherited from Wizt::VSlotContainer< int ExpertLevel >
enum  AttachErrorCode
 
typedef void AcceptableInputTypes
 
typedef VSlotSet CreationSlots_t
 
typedef VSlot::Empty< IEmpty
 
- Public Types inherited from Wizt::VSaveable
typedef std::function< bool(const string &s, VishSaver &VS)> save_iterator
 
- Public Types inherited from Wizt::VManagedDomainObject< VObject >
typedef What Domain_t
 
- Static Public Member Functions inherited from Wizt::VObject
static bool remove (const string &s)
 
static int findOutputObjects (const type_info &Type, OutputObjectIterator &GOutputs)
 
static string createChildname (const string &parent_name)
 
static VAcceptInfoList_t accept (const VObjectPtr &vobj)
 
static RefPtr< VParameterfindUniqueOutputObject (const type_info &Type, const RefPtr< VCreationPreferences > &VCP, bool ReallyUnique, const VObject *NotThisOne)
 
- 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< int ExpertLevel >
static const charAttachErrorCodeMessage (AttachErrorCode)
 
static bool attachParameter (const RefPtr< VParameter > &theProvidedParam, const WeakPtr< VSlot > &theDestSlot, const string &theMember={})
 
- Static Public Member Functions inherited from Wizt::ValueCacheable
static ValueCacheconsider (MemCore::Intercube &IC, const WeakPtr< VSlot > &VS, const RefPtr< ValuePool > &Context)
 
static ValueCachegetValueCache (MemCore::Intercube &IC)
 
static bool hasChangedSlots (const WeakPtrToVSlotContainer &theSlotOwner, const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context)
 
- Static Public Member Functions inherited from Wizt::VSaveable
static VSaveableGlobalState ()
 
- Static Public Member Functions inherited from Wizt::VManagedDomainObject< VObject >
static bool remove (const std::string &s)
 
static RefPtr< VManagedObjectfind (const string &s)
 
static int iterate (VManagedObjectIterator_t VIt, int p_start=INT_MIN, int p_end=INT_MAX)
 
static int size ()
 
static int traverse (VManagedObjectIterator &VIt, int p_start=INT_MIN, int p_end=INT_MAX)
 
- Static Public Member Functions inherited from Wizt::VManagedObject
static int count ()
 
static VManagedObjectPtr find (const type_info &, const std::string &s)
 
static bool InitDomain (const type_info &)
 
static int iterateModules (ModuleIterator &VIM)
 
static int size (const type_info &)
 
static int traverse (const type_info &, VManagedObjectIterator &VIt, int p_start, int p_end)
 
static void UnloadVModule (const string &what, VRemoveItem &RI)
 
- Static Public Member Functions inherited from MemCore::MutableName
static std::string BaseName (const std::string &theName, const char Separator)
 
- Static Public Attributes inherited from Wizt::VObject
static constexpr char NameSeparator
 
static constexpr char SlotNameSeparator
 
- Static Public Attributes inherited from Wizt::VManagedObject
static string CurrentLoadModule
 
- Protected Types inherited from Wizt::VObject
typedef bool(* UpdateFunction) (VObject *, VRequest &, double precision)
 
- Protected Member Functions inherited from Wizt::VObject
virtual bool unsychronized_update (VRequest &VR, double precision)
 
- Protected Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 
- Protected Member Functions inherited from Wizt::VSlotContainer< int ExpertLevel >
virtual void setup (const CreationSlots_t &CreationSlots)
 
- Protected Attributes inherited from Wizt::VObject
MemCore::Counter UpdateCounter
 
MemCore::Counter RequestCounter
 

Detailed Description

A VObject which creates a fiber bundle with a scalar Field on a uniform Grid.

The time-dependent field is created on discrete time steps as deferred Creator. This means data are setup to be created on access. The call of the object's update() function does not yet compute any data, but only sets up the formula how to do so for each time step. Data will be created later when actually required.

Todo:
Generalize this to other grid types, and unify it with the Grid generators in the cephalus/ place, such as RandomPointDistribution, PointDistribution, etc. All Grid generators should go into a common "fiber base" location.
Todo:
Must become a GridProviderObject

Member Function Documentation

◆ update()

bool Wizt::AnalyticGrid::update ( VRequest Context,
double  precision 
)
overridevirtual

Reimplemented from Wizt::VObject.