PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::GLVisualModule Class Referenceabstract

#include <GLVisualModule.h>

Inheritance diagram for dyno::GLVisualModule:
Collaboration diagram for dyno::GLVisualModule:

Public Member Functions

 GLVisualModule ()
 
 ~GLVisualModule () override
 
void setColor (const Color &color)
 
void setMetallic (float metallic)
 
void setRoughness (float roughness)
 
void setAlpha (float alpha)
 
virtual bool isTransparent () const
 
void draw (const RenderParams &rparams)
 
void release ()
 
 DEF_VAR (Color, BaseColor, Color(0.8f, 0.8f, 0.8f), "")
 
 DEF_VAR (Real, Metallic, 0.0f, "")
 
 DEF_VAR (Real, Roughness, 0.5f, "")
 
 DEF_VAR (Real, Alpha, 1.0f, "")
 
- Public Member Functions inherited from dyno::VisualModule
 VisualModule ()
 
virtual ~VisualModule ()
 
void setVisible (bool bVisible)
 
bool isVisible ()
 
std::string getModuleType () override
 
- Public Member Functions inherited from dyno::Module
 Module (std::string name="default")
 
 ~Module (void) override
 
bool initialize ()
 
void update ()
 
void setName (std::string name)
 
std::string getName () override
 
virtual void setParentNode (Node *node)
 Set the parent node.
 
NodegetParentNode ()
 
SceneGraphgetSceneGraph ()
 
bool isInitialized ()
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Base.
 
bool isInputComplete ()
 Check the completeness of input fields.
 
bool isOutputCompete ()
 
 DEF_VAR (bool, ForceUpdate, false, "")
 
void setUpdateAlways (bool b)
 Set the update strategy for the module.
 
- Public Member Functions inherited from dyno::OBase
 OBase ()
 
 ~OBase () override
 
virtual std::string caption ()
 Return the caption.
 
virtual bool captionVisible ()
 Whether to hide the caption in the GUI.
 
virtual std::string description ()
 Return a description for the node or module, override this function to support user-defined description.
 
bool addField (FBase *data)
 Add a field to Base FieldID will be set to the name of Field by default.
 
bool addField (FieldID name, FBase *data)
 Add a field to Base.
 
bool addFieldAlias (FieldID name, FBase *data)
 
bool addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias)
 
bool findField (FBase *data)
 Find a field by its pointer.
 
bool findFieldAlias (const FieldID name)
 Find a field by its name.
 
bool findFieldAlias (const FieldID name, FieldMap &fieldAlias)
 Find a field in fieldAlias by its name This function is typically called by other functions.
 
bool removeField (FBase *data)
 Remove a field by its pointer.
 
bool removeFieldAlias (const FieldID name)
 Remove a field by its name.
 
bool removeFieldAlias (const FieldID name, FieldMap &fieldAlias)
 
FBasegetField (const FieldID name)
 Return a field by its name.
 
std::vector< FBase * > & getAllFields ()
 
template<typename T>
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields.
 
std::vector< FieldIDgetFieldAlias (FBase *data)
 
int getFieldAliasCount (FBase *data)
 
void setBlockCoord (float x, float y)
 
float bx ()
 
float by ()
 
bool findInputField (FBase *field)
 
bool addInputField (FBase *field)
 
bool removeInputField (FBase *field)
 
std::vector< FBase * > & getInputFields ()
 
bool findOutputField (FBase *field)
 
bool addOutputField (FBase *field)
 
bool addToOutput (FBase *field)
 
bool removeOutputField (FBase *field)
 
bool removeFromOutput (FBase *field)
 
std::vector< FBase * > & getOutputFields ()
 
bool findParameter (FBase *field)
 
bool addParameter (FBase *field)
 
bool removeParameter (FBase *field)
 
std::vector< FBase * > & getParameters ()
 
- Public Member Functions inherited from dyno::Object
 Object ()
 
virtual ~Object ()
 
ObjectId objectId ()
 

Protected Member Functions

virtual void updateImpl () override
 
virtual void preprocess () override final
 
virtual void postprocess () override final
 
bool validateInputs () override final
 
virtual bool initializeGL ()=0
 
virtual void releaseGL ()=0
 
virtual void updateGL ()=0
 
virtual void paintGL (const RenderParams &rparams)=0
 
- Protected Member Functions inherited from dyno::Module
virtual bool initializeImpl ()
 
virtual bool validateOutputs ()
 
virtual bool requireUpdate ()
 
virtual void updateStarted ()
 Two functions called at the beginning and end of update() used for debug.
 
virtual void updateEnded ()
 

Private Types

using clock = std::chrono::high_resolution_clock
 

Private Attributes

bool isGLInitialized = false
 
std::mutex updateMutex
 
clock::time_point changed
 
clock::time_point updated
 

Additional Inherited Members

- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 
- Static Public Member Functions inherited from dyno::Object
static bool registerClass (ClassInfo *ci)
 
static ObjectcreateObject (std::string name)
 
static std::map< std::string, ClassInfo * > * getClassMap ()
 
static ObjectId baseId ()
 Base Id.
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

Detailed Description

Definition at line 36 of file GLVisualModule.h.

Member Typedef Documentation

◆ clock

using dyno::GLVisualModule::clock = std::chrono::high_resolution_clock
private

Definition at line 85 of file GLVisualModule.h.

Constructor & Destructor Documentation

◆ GLVisualModule()

dyno::GLVisualModule::GLVisualModule ( )

Definition at line 7 of file GLVisualModule.cpp.

Here is the call graph for this function:

◆ ~GLVisualModule()

dyno::GLVisualModule::~GLVisualModule ( )
override

Definition at line 19 of file GLVisualModule.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ DEF_VAR() [1/4]

dyno::GLVisualModule::DEF_VAR ( Color ,
BaseColor ,
Color(0.8f, 0.8f, 0.8f) ,
""  )

◆ DEF_VAR() [2/4]

dyno::GLVisualModule::DEF_VAR ( Real ,
Alpha ,
1. 0f,
""  )
Here is the call graph for this function:

◆ DEF_VAR() [3/4]

dyno::GLVisualModule::DEF_VAR ( Real ,
Metallic ,
0. 0f,
""  )

◆ DEF_VAR() [4/4]

dyno::GLVisualModule::DEF_VAR ( Real ,
Roughness ,
0. 5f,
""  )

◆ draw()

void dyno::GLVisualModule::draw ( const RenderParams & rparams)

Definition at line 83 of file GLVisualModule.cpp.

Here is the call graph for this function:

◆ initializeGL()

virtual bool dyno::GLVisualModule::initializeGL ( )
protectedpure virtual

Implemented in dyno::GLInstanceVisualModule, dyno::GLPhotorealisticInstanceRender, dyno::GLPhotorealisticRender, dyno::GLPointVisualModule, dyno::GLSurfaceVisualModule, and dyno::GLWireframeVisualModule.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isTransparent()

bool dyno::GLVisualModule::isTransparent ( ) const
virtual

Definition at line 76 of file GLVisualModule.cpp.

◆ paintGL()

virtual void dyno::GLVisualModule::paintGL ( const RenderParams & rparams)
protectedpure virtual

Implemented in dyno::GLPhotorealisticInstanceRender, dyno::GLPhotorealisticRender, dyno::GLPointVisualModule, dyno::GLSurfaceVisualModule, and dyno::GLWireframeVisualModule.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ postprocess()

void dyno::GLVisualModule::postprocess ( )
finaloverrideprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 36 of file GLVisualModule.cpp.

Here is the caller graph for this function:

◆ preprocess()

void dyno::GLVisualModule::preprocess ( )
finaloverrideprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 31 of file GLVisualModule.cpp.

◆ release()

void dyno::GLVisualModule::release ( )

Definition at line 110 of file GLVisualModule.cpp.

Here is the call graph for this function:

◆ releaseGL()

virtual void dyno::GLVisualModule::releaseGL ( )
protectedpure virtual

Implemented in dyno::GLInstanceVisualModule, dyno::GLPhotorealisticInstanceRender, dyno::GLPhotorealisticRender, dyno::GLPointVisualModule, dyno::GLSurfaceVisualModule, and dyno::GLWireframeVisualModule.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setAlpha()

void dyno::GLVisualModule::setAlpha ( float alpha)

Definition at line 71 of file GLVisualModule.cpp.

◆ setColor()

void dyno::GLVisualModule::setColor ( const Color & color)

Definition at line 56 of file GLVisualModule.cpp.

◆ setMetallic()

void dyno::GLVisualModule::setMetallic ( float metallic)

Definition at line 61 of file GLVisualModule.cpp.

◆ setRoughness()

void dyno::GLVisualModule::setRoughness ( float roughness)

Definition at line 66 of file GLVisualModule.cpp.

◆ updateGL()

virtual void dyno::GLVisualModule::updateGL ( )
protectedpure virtual

Implemented in dyno::GLInstanceVisualModule, dyno::GLPhotorealisticInstanceRender, dyno::GLPhotorealisticRender, dyno::GLPointVisualModule, dyno::GLSurfaceVisualModule, and dyno::GLWireframeVisualModule.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateImpl()

void dyno::GLVisualModule::updateImpl ( )
overrideprotectedvirtual

◆ validateInputs()

bool dyno::GLVisualModule::validateInputs ( )
finaloverrideprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 42 of file GLVisualModule.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ changed

clock::time_point dyno::GLVisualModule::changed
private

Definition at line 87 of file GLVisualModule.h.

◆ isGLInitialized

bool dyno::GLVisualModule::isGLInitialized = false
private

Definition at line 80 of file GLVisualModule.h.

◆ updated

clock::time_point dyno::GLVisualModule::updated
private

Definition at line 89 of file GLVisualModule.h.

◆ updateMutex

std::mutex dyno::GLVisualModule::updateMutex
private

Definition at line 83 of file GLVisualModule.h.


The documentation for this class was generated from the following files: