FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Wizt::RegionOfInterest Struct Reference

A functor to limit rendering. More...

#include <RegionOfInterest.hpp>

Inheritance diagram for Wizt::RegionOfInterest:
MemCore::ReferenceBase< RegionOfInterest >

Public Member Functions

 RegionOfInterest (const RegionOfInterest &)=delete
 
virtual bool validateFragment (const MemCore::RefPtr< Fiber::FragmentID > &theFragmentID, MemCore::RefPtr< Eagle::BoundingBox > BBox, const Fiber::SkeletonID &LevelID, const MemCore::RefPtr< Fiber::Representation > &ChartRep, const MemCore::RefPtr< Fiber::Field > &Coordinates, const MemCore::RefPtr< Fiber::CreativeArrayBase > &theVertexFragmentData) const
 
virtual bool initializeAnemone (Anemone &RenderAnemone, VRenderContext &Context, const RefPtr< AnemoneCreatorBase > &theAnemoneCreator) const
 Get the name of the shader variable that provides the floating origin.
 
virtual RenderNamespace::glsl setupRegionOfInterest (VRenderContext &Context, const FloatingAnemone &FA)
 Defines a GLSL function that has to be called before each vertex is emitted, i.e.
 
- Public Member Functions inherited from MemCore::ReferenceBase< RegionOfInterest >
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
 

Static Public Member Functions

static Eagle::tvector3 getFloatingOrigin (const RefPtr< AnemoneCreatorBase > &AC)
 Get the numerical value of the floating origin for this specific AnemoneCreator.
 

Static Public Attributes

static const char void_vish_defineRegionOfInterestClipping []
 
static const char bool_vish_validateRegionOfInterest []
 

Additional Inherited Members

- Public Types inherited from MemCore::ReferenceBase< RegionOfInterest >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 
- Protected Member Functions inherited from MemCore::ReferenceBase< RegionOfInterest >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Detailed Description

A functor to limit rendering.

Member Function Documentation

◆ getFloatingOrigin()

Eagle::tvector3 Wizt::RegionOfInterest::getFloatingOrigin ( const RefPtr< AnemoneCreatorBase > &  AC)
static

Get the numerical value of the floating origin for this specific AnemoneCreator.

If the translation shift is positive then the origin is negative. Subtract this origin from all absolute coordinate values to get values in the shifted coordinate system. Such subtractions must be done on the CPU in double precision to allow the resulting relative values to fit into the single precision of the GPU. Each Anemone may have its own Origin.

◆ setupRegionOfInterest()

RenderNamespace::glsl Wizt::RegionOfInterest::setupRegionOfInterest ( VRenderContext Context,
const FloatingAnemone FA 
)
virtual

Defines a GLSL function that has to be called before each vertex is emitted, i.e.

either in the vertex shader or before EmitVertex() in the geometry shader.

#define HAVE_vish_clipRegionOfInterest 1
void vish_clipRegionOfInterest(vec3 Vertex, vec3 Origin);
#define HAVE_vish_validateRegionOfInterest 1
bool vish_validateRegionOfInterest(vec3 Vertex, vec3 Origin);
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34

Note that the name of the shader variable that contains the origin is given by the member FA.getFloatingOrigin();

Member Data Documentation

◆ bool_vish_validateRegionOfInterest

constinit const char Wizt::RegionOfInterest::bool_vish_validateRegionOfInterest
static
Initial value:
=
R"GLSL_SHADER(
#define HAVE_vish_validateRegionOfInterest 1
bool vish_validateRegionOfInterest(vec3 Vertex, vec3 VertexOffset)
{
return true;
}
)GLSL_SHADER"

◆ void_vish_defineRegionOfInterestClipping

constinit const char Wizt::RegionOfInterest::void_vish_defineRegionOfInterestClipping
static
Initial value:
=
R"GLSL_SHADER(
#define HAVE_vish_clipRegionOfInterest 1
void vish_clipRegionOfInterest(vec3 Vertex, vec3 VertexOffset)
{}
)GLSL_SHADER"