Graphics engine moduled interface. More...
#include <graphics_interface.h>
Additional Inherited Members | |
![]() | |
using | environment_map = std::map< std::string, const void * > |
Type for environment_map. | |
![]() | |
enum | FEATURE { FEATURE::OPACITY, FEATURE::_3D } |
List of features that can be specified to get_supported(). More... | |
enum | MODE { MODE::POINTS, MODE::LINES, MODE::LINE_STRIP, MODE::LINE_LOOP, MODE::TRIANGLES, MODE::TRIANGLE_STRIP, MODE::TRIANGLE_FAN } |
List of drawing mode that is to be specified with begin() function. See https://www.khronos.org/opengl/wiki/Primitive for detail. More... | |
![]() | |
virtual void | recursive_load (configuration &config) override |
Start recursively load configurables. More... | |
virtual void | recursive_configure (configuration &config) override |
Recursively call configure. More... | |
![]() | |
recursive_configurable ()=default | |
Default constructor. | |
virtual void | recursive_initialize (const configurable::environment_map &environment=configurable::environment_map()) |
Initialize the program itself and relay the same to its children. Used to get things ready for actual use. More... | |
virtual bool | is_ready () const |
Get if the instance is initialized. More... | |
virtual void | add_child (configurable *child) |
Add a child instance. More... | |
virtual void | add_child (recursive_configurable *child) |
Add a child instance. More... | |
virtual void | remove_child (configurable *child) |
Remove a child instance. More... | |
virtual void | remove_child (recursive_configurable *child) |
Remove a child instance. More... | |
virtual void | setup_now (configuration &config=get_global_configuration()) override |
Run recursive_load - recursive_configure - recursive_initialize processes. | |
virtual bool | not_recursive () override |
Check if this instance is not derived from recursive_configurable. More... | |
void | set_environment (std::string name, const void *value) |
Set the pointer to an environmental value associated with an input name. More... | |
![]() | |
virtual void | load (configuration &config) |
Load the program. Used to load files and libraries into memory. More... | |
virtual void | configure (configuration &config) |
Configure the program. Used to load and set parameters. More... | |
![]() | |
module () | |
Default constructor for module. | |
virtual | ~module () |
Default destructor for module. | |
virtual std::string | get_module_name () const |
Get the module name. More... | |
![]() | |
credit ()=default | |
Default constructor. | |
credit (std::string name, std::string argument_name) | |
Constructor for credit. More... | |
virtual void | set_name (std::string name, std::string argument_name="") |
Set name (and perhaps, argument name together) More... | |
virtual std::string | get_name () const |
Get the name. | |
virtual void | set_argument_name (std::string argument_name) |
Set an argument name. More... | |
virtual std::string | get_argument_name () const |
Get an argument name. More... | |
virtual double | get_version () const |
Get version. More... | |
virtual std::string | get_author () const |
Get author's name. More... | |
virtual std::tuple< int, int, int > | get_date () const |
Get currently set date. More... | |
virtual std::string | get_email_address () const |
Get email address. More... | |
![]() | |
virtual | ~graphics_engine ()=default |
Default destructor. | |
virtual void | setup_graphics (std::map< std::string, const void * > params=std::map< std::string, const void * >())=0 |
Initialize graphics engine. | |
virtual std::string | get_graphics_engine_name () const =0 |
Get the name of the graphics engine. More... | |
virtual bool | get_supported (FEATURE feature) const =0 |
Get if a specified feature is supported. More... | |
virtual void | set_viewport (unsigned x, unsigned y, unsigned width, unsigned height)=0 |
Set view port. | |
virtual void | get_viewport (unsigned &x, unsigned &y, unsigned &width, unsigned &height) const =0 |
Get view port. | |
virtual void | set_2D_coordinate (double left, double right, double bottom, double top)=0 |
Configure 2D coordinate view. More... | |
virtual void | look_at (const double target[3], const double position[3], const double up[3], double fov, double near, double far)=0 |
Set up a camera with a target position, origin position and fov. More... | |
virtual void | clear ()=0 |
Clear out the canvas. | |
virtual void | get_background_color (double color[3]) const =0 |
Get the background color. | |
virtual void | get_foreground_color (double color[3]) const =0 |
Get the foreground color. | |
void | color3 (double r, double g, double b) |
Equivalebt to glColor. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor.xml. | |
void | color4 (double r, double g, double b, double a) |
Equivalebt to glColor. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor.xml. | |
template<class T > | |
void | color3v (const T *v) |
Equivalebt to glColor. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor.xml. | |
virtual void | color4v (const double *v)=0 |
Equivalebt to glColor. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor.xml. | |
void | color4v (const float *v) |
Equivalebt to glColor. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor.xml. | |
void | vertex2 (double x, double y) |
Equivalebt to glVertex. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex.xml. | |
void | vertex3 (double x, double y, double z) |
Equivalebt to glVertex. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex.xml. | |
virtual void | begin (MODE mode)=0 |
Equivalebt to glBegin. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glBegin.xml. | |
virtual void | end ()=0 |
Equivalebt to glEnd. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glEnd.xml. | |
virtual void | point_size (double size)=0 |
Equivalebt to glPointSize. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPointSize.xml. | |
virtual void | line_width (double width)=0 |
Equivalebt to glLineWidth. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glLineWidth.xml. | |
template<class T > | |
void | vertex2v (const T *v) |
Equivalebt to glVertex. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex.xml. | |
virtual void | vertex3v (const double *v)=0 |
Equivalebt to glVertex. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex.xml. | |
void | vertex3v (const float *v) |
Equivalebt to glVertex. See https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex.xml. | |
virtual void | draw_string (const double *v, std::string str, unsigned size=0)=0 |
Draw a string at the current position. More... | |
![]() | |
static configuration & | set_global_configuration (const configuration &config) |
Assign the global settings of the program. More... | |
static configuration & | get_global_configuration () |
Get the global settings of the program. More... | |
template<class T > | |
static const T & | get_env (const environment_map &environment, std::string key) |
Extract an specified type of pointer from the input environment. More... | |
![]() | |
static std::string | module_libpath (std::string module_name) |
Get the path to the dynamic library. e.g., "mylib" -> "symlink-public/lib/libshiokaze_mylib.dylib". More... | |
static module * | alloc_module (configuration &config, std::string arg_name, std::string default_module_name, std::string description) |
Automatically reads the parameter "arg_name" to fetch the name for the library, and allocate the library. More... | |
static module * | alloc_module (std::string path) |
Reads the dynamic library of a class module, allocate, and return the pointer to it. More... | |
static unsigned | close_all_handles () |
Close all the handles that are still unloaded. More... | |
template<class T > | |
static std::unique_ptr< T > | unique_alloc_module (configuration &config, std::string arg_name, std::string default_module_name, std::string description) |
Allocate the module and cast to the a specified class T. More... | |
static unsigned | count_open_modules () |
Count all the open modules. More... | |
![]() | |
bool | check_set (const environment_map &environment, std::vector< std::string > names) |
Check if the values for a variable keys exist. More... | |
![]() | |
std::string | m_name |
Name of credit. | |
std::string | m_argument_name |
Argument name. | |
Graphics engine moduled interface.