|
|
| FragmentPainter (VObject *that, const string &fragmentselectorname="selection", int EL=5) |
| | Constructor, needs a VObject to initialize the slot driving the fragment selector.
|
| |
| virtual string | FragmentSelectionField () const |
| | Return the name of the field that will be responsible for the coordinates of the fields.
|
| |
| virtual string | GLCacheField (const RefPtr< ValuePool > &Context) const |
| | The name of the field that will be used for caching opengl VBO's at each of this fragments.
|
| |
| virtual RefPtr< ValueSet > | CacheableVariables (const RefPtr< ValuePool > &Context) const |
| | Return a set of variables for which the results shall be cached, i.e.
|
| |
| virtual string | VBOCacheKey (const RefPtr< ValuePool > &Context) const |
| | A child-class defined arbitrary string used to extend the cache modifier.
|
| |
| virtual RefPtr< VBO::Renderer > | createRenderer (VGLRenderContext &Context, const RefPtr< MemBase > &FieldCoordinates, const RefPtr< FragmentSelector > &FS) const |
| | Create a Renderer object for the VBO, which by default is a DrawArrays() renderer that emits points for each vertex.
|
| |
|
virtual void | updateRenderer (VGLRenderContext &Context, const RefPtr< VBO::Renderer > &R, const RefPtr< MemBase > &FieldCoordinates, const RefPtr< FragmentSelector > &FS) const |
| | Update a renderer object, in case the fragment selector is newer.
|
| |
| virtual Ageable | YoungestDependency (const RefPtr< ValuePool > &Context, const WeakPtr< Representation > &RefinementRep) const |
| | Optional child class for specifying dependencies that may have changed and require re-creation of a cached VBO.
|
| |
| virtual bool | appendOnDemandFragments (VGLRenderContext &Context, const RefPtr< VBO > &myVBO, int RefinementLevel, const WeakPtr< Representation > &RefinementRep, const RefPtr< FragmentID > &fragment_identifier, const Fiber::Fragment &FragmentData, const RefPtr< GLProgram > &Shader) const |
| | Virtual function to allow derived classes to create data on demand, i.e.
|
| |
| virtual void | setRendererParameters (VGLRenderContext &Context, const RefPtr< VBO::Renderer > &theRenderer, const RefPtr< CreativeArrayBase > &VertexCoordinates, const RefPtr< GLProgram > &theShaderProgram) const =0 |
| | Given a Renderer, which usually is has been created by the createRenderer() virtual function, modify its parameters, depending on the context.
|
| |
|
virtual bool | FunctorsAreOlderThan (const Ageable &A, const RefPtr< ValuePool > &Context) const |
| |
|
virtual void | updateFromFunctorsAge (Ageable &A, const RefPtr< ValuePool > &Context) const |
| |
|
void | renderFragments (Fiber::FragmentCluster &FC, VGLRenderContext &Context, VGLRenderObject::UsedVBO_t &UsedVBO, const RefPtr< GLProgram > &myProgram) const |
| | Render all the field fragments that are stored and available here.
|
| |
|
| VertexFieldCollection (VObject *that) |
| | Construct a collection of fields on the vertices of a Grid.
|
| |
|
| ~VertexFieldCollection () |
| | Destructor.
|
| |
|
TypedSlot< Fiber::Field > & | insertVertexField (const string &s, const RefPtr< VertexField > &) |
| | Add a vertex field under the given name.
|
| |
|
RefPtr< VertexField > & | operator[] (const string &s) |
| | Retrieve a VertexField for the given name, create one, if required.
|
| |
|
RefPtr< VertexField > | operator() (const string &s) const |
| | Search for a VertexField under the given name.
|
| |
| Fiber::Info< Fiber::Skeleton > | getRefinementLevel (int Level, const RefPtr< ValuePool > &VP, int IndexDepth=0, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const override |
| | Implementation of the virtual callback function that will load data sets from a grid into a collection of VertexFields, as specified earlier.
|
| |
| virtual GridSelector | myGridSelector (const RefPtr< ValuePool > &VP) const |
| | Virtual function that allows child classes to specify the Grid that shall be used.
|
| |
| GridSelector | getGridSelector (const RefPtr< ValuePool > &VP) const override |
| | Get the Grid that will be used here.
|
| |
| void | retrieveFields (Fiber::FieldCollection &FieldMap, const RefPtr< Fiber::Representation > &MyRepresentation, const RefPtr< ValuePool > &Context, const RefPtr< Fiber::Skeleton > &DestVertices, Fiber::Grid &DestGrid, Fiber::Slice &DestGridSlice, const string &HelperDestGridName, bool StoreResult=true) |
| | From the given Representation, retrieve all fields as required here into the provided Fieldmap.
|
| |
| int | append (const RefPtr< VBO > &myVBO, const VertexFragment &VertexFragments, const RefPtr< GLProgram > &Shader) const |
| | Append all the fields stored in these vertex fragments to the given vertex buffer object.
|
| |
|
bool | isOlderThan (const Ageable &A, const RefPtr< ValuePool > &Context) const |
| | Check if all parameters in this collection of fields is older than the given age.
|
| |
|
void | updateAge (Ageable &A, const RefPtr< ValuePool > &Context) const |
| |
|
RefPtr< StringList > | getCurrentFieldnames (const RefPtr< ValuePool > &Context) const |
| | Get a list of all currently selected fields.
|
| |
|
int | iterate (Iterator &It) const |
| | Iterate through all available vertex fields.
|
| |
| | 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() ).
|
| |
| 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.
|
| |
|
| 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.
|
| |
|
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) |
| |
|
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)) |
| |
|
| 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()) |
| |
|
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 |
| |
|
RefPtr< Chunk< Eagle::point3 > > | computeShiftedCoordinates (const RefPtr< Chunk< Eagle::point3 > > &RawCoordinates, const Eagle::tvector3 &TranslationVector) const |
| |
|
VRenderContext::ModelViewState | getCoordinateTranslation (const VRenderContext &Context, Eagle::tvector3 &TranslationVector) const |
| |
|
VRenderContext::ModelViewState | getCoordinateTranslation (const VRenderContext &Context, Intercube &IC, Eagle::tvector3 &TranslationVector) const |
| |
|
RefPtr< State > & | getState (const WeakPtr< ValuePool > &VP) const |
| |
|
RefPtr< InterfaceBase > | hasLocalInterface (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 |
| |
A helper class that supports rendering of a collection of fragments from various fields.
A collection of fragments may be all data sets of a fragmented field, as well as some subset of such that is determined by a FragmentSelector. For each geometrical region, there may be multiple fields available (as specified by the VertexFieldCollection), which are all shuffled to a collection of Vertex Buffer Object, ready to be used by some fragment shader that needs to be implemented in a child class.
Within the fragment shader, the respective field data will be available as arrays under the names under which they are stored in the VertexFieldCollection . For instance, the constructor of a child class would contain the following line:
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
It defines that the child class will use some input field named "vectorfield" that is provided to the fragment shader under the name "normalvectors".
Via the FragmentSelector this class also supports \i selective drawing of regions of interest.
- Author
- Werner Benger