TINC
Toolkit for Interactive Computation
tinc::AtomRenderer Class Reference

#include <AtomRenderer.hpp>

Inheritance diagram for tinc::AtomRenderer:
tinc::SceneObject tinc::SlicingAtomRenderer

Public Member Functions

 AtomRenderer (std::string id, std::string filename="positions.nc", std::string relPath="", std::string rootPath="", uint16_t size=2)
 
virtual void init () override
 
void update (double dt) override
 
void onProcess (al::Graphics &g) override
 
virtual void draw (al::Graphics &g, std::map< std::string, AtomData > &atomData, std::vector< float > &aligned4fData)
 
virtual void setDataBoundaries (al::BoundingBoxData &b)
 
void setPositions (std::vector< al::Vec3f > &positions, std::map< std::string, AtomData > &atomData)
 
void setPositions (float *positions, size_t length)
 setPositions More...
 
void renderInstances (al::Graphics &g, float *aligned4fData, size_t count)
 
void registerWithTinc (TincProtocol &server)
 
void applyTransformations (al::Graphics &g) override
 
std::shared_ptr< NetCDFDatagetData ()
 

Public Attributes

al::ParameterVec3 mDataScale
 
al::Parameter mAtomMarkerSize
 
al::ParameterChoice mShowAtoms
 
al::Parameter mAlpha
 
al::BoundingBoxData dataBoundary
 
al::ShaderProgram instancing_shader
 
InstancingMesh instancingMesh
 
al::ParameterVec3 scale
 

Protected Member Functions

virtual const std::string is_highlighted_func ()
 
virtual void updateShader (al::Graphics &g)
 

Protected Attributes

std::string instancing_vert
 
std::string instancing_frag
 
DiskBufferNetCDFData mBuffer
 

Detailed Description

Definition at line 92 of file AtomRenderer.hpp.

Constructor & Destructor Documentation

◆ AtomRenderer()

tinc::AtomRenderer::AtomRenderer ( std::string  id,
std::string  filename = "positions.nc",
std::string  relPath = "",
std::string  rootPath = "",
uint16_t  size = 2 
)
inline

Definition at line 94 of file AtomRenderer.hpp.

Member Function Documentation

◆ applyTransformations()

void tinc::SceneObject::applyTransformations ( al::Graphics &  g)
inlineoverrideinherited

Definition at line 27 of file SceneObject.hpp.

◆ draw()

virtual void tinc::AtomRenderer::draw ( al::Graphics &  g,
std::map< std::string, AtomData > &  atomData,
std::vector< float > &  aligned4fData 
)
virtual

Reimplemented in tinc::SlicingAtomRenderer.

◆ getData()

std::shared_ptr<NetCDFData> tinc::SceneObject::getData ( )
inherited

◆ init()

virtual void tinc::AtomRenderer::init ( )
overridevirtual

Reimplemented in tinc::SlicingAtomRenderer.

◆ is_highlighted_func()

virtual const std::string tinc::AtomRenderer::is_highlighted_func ( )
inlineprotectedvirtual

Reimplemented in tinc::SlicingAtomRenderer.

Definition at line 258 of file AtomRenderer.hpp.

◆ onProcess()

void tinc::AtomRenderer::onProcess ( al::Graphics &  g)
override

◆ registerWithTinc()

void tinc::SceneObject::registerWithTinc ( TincProtocol server)
inherited

◆ renderInstances()

void tinc::AtomRenderer::renderInstances ( al::Graphics &  g,
float *  aligned4fData,
size_t  count 
)

◆ setDataBoundaries()

virtual void tinc::AtomRenderer::setDataBoundaries ( al::BoundingBoxData &  b)
virtual

Reimplemented in tinc::SlicingAtomRenderer.

◆ setPositions() [1/2]

void tinc::AtomRenderer::setPositions ( float *  positions,
size_t  length 
)

setPositions

Parameters
positionspointer to x,y,z,h
lengthtotal lenght of array. atom count = lenght/4

Each atom is represented by 4 elements in the array

◆ setPositions() [2/2]

void tinc::AtomRenderer::setPositions ( std::vector< al::Vec3f > &  positions,
std::map< std::string, AtomData > &  atomData 
)

◆ update()

void tinc::AtomRenderer::update ( double  dt)
override

◆ updateShader()

virtual void tinc::AtomRenderer::updateShader ( al::Graphics &  g)
protectedvirtual

Reimplemented in tinc::SlicingAtomRenderer.

Member Data Documentation

◆ dataBoundary

al::BoundingBoxData tinc::AtomRenderer::dataBoundary

Definition at line 135 of file AtomRenderer.hpp.

◆ instancing_frag

std::string tinc::AtomRenderer::instancing_frag
protected
Initial value:
= R"(
#version 330
//uniform vec4 color;
in vec4 color;
layout (location = 0) out vec4 frag_out0;
void main()
{
//GLfloat[2] range = glGet(GL_DEPTH_RANGE);
frag_out0 = color;
}
)"

Definition at line 246 of file AtomRenderer.hpp.

◆ instancing_shader

al::ShaderProgram tinc::AtomRenderer::instancing_shader

Definition at line 136 of file AtomRenderer.hpp.

◆ instancing_vert

std::string tinc::AtomRenderer::instancing_vert
protected

Definition at line 142 of file AtomRenderer.hpp.

◆ instancingMesh

InstancingMesh tinc::AtomRenderer::instancingMesh

Definition at line 137 of file AtomRenderer.hpp.

◆ mAlpha

al::Parameter tinc::AtomRenderer::mAlpha

Definition at line 132 of file AtomRenderer.hpp.

◆ mAtomMarkerSize

al::Parameter tinc::AtomRenderer::mAtomMarkerSize

Definition at line 130 of file AtomRenderer.hpp.

◆ mBuffer

DiskBufferNetCDFData tinc::SceneObject::mBuffer
protectedinherited

Definition at line 37 of file SceneObject.hpp.

◆ mDataScale

al::ParameterVec3 tinc::AtomRenderer::mDataScale

Definition at line 129 of file AtomRenderer.hpp.

◆ mShowAtoms

al::ParameterChoice tinc::AtomRenderer::mShowAtoms

Definition at line 131 of file AtomRenderer.hpp.

◆ scale

al::ParameterVec3 tinc::SceneObject::scale
inherited

Definition at line 32 of file SceneObject.hpp.


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