TINC
Toolkit for Interactive Computation
tinc::SlicingAtomRenderer Class Reference

#include <AtomRenderer.hpp>

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

Public Member Functions

 SlicingAtomRenderer (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 setDataBoundaries (al::BoundingBoxData &b) override
 
virtual void draw (al::Graphics &g, std::map< std::string, AtomData > &atomData, std::vector< float > &aligned4fData) override
 
void nextLayer ()
 
void previousLayer ()
 
void resetSlicing ()
 
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 mSlicingPlaneCorner
 
al::Parameter mSlicingPlaneSize
 
al::ParameterVec3 mSlicingPlaneNormal
 
al::Quatf mSlicingPlaneQuat
 
al::Parameter mSlicingPlaneThickness
 
al::Parameter mSliceRotationPitch
 
al::Parameter mSliceRotationYaw
 
al::Parameter mSliceRotationRoll
 
al::Parameter mClippedMultiplier
 
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

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

Protected Attributes

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

Detailed Description

Definition at line 271 of file AtomRenderer.hpp.

Constructor & Destructor Documentation

◆ SlicingAtomRenderer()

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

Member Function Documentation

◆ applyTransformations()

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

Definition at line 27 of file SceneObject.hpp.

◆ draw()

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

Reimplemented from tinc::AtomRenderer.

◆ getData()

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

◆ init()

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

Reimplemented from tinc::AtomRenderer.

◆ is_highlighted_func()

const std::string tinc::SlicingAtomRenderer::is_highlighted_func ( )
inlineoverrideprotectedvirtual

Reimplemented from tinc::AtomRenderer.

Definition at line 304 of file AtomRenderer.hpp.

◆ nextLayer()

void tinc::SlicingAtomRenderer::nextLayer ( )

◆ onProcess()

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

◆ previousLayer()

void tinc::SlicingAtomRenderer::previousLayer ( )

◆ registerWithTinc()

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

◆ renderInstances()

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

◆ resetSlicing()

void tinc::SlicingAtomRenderer::resetSlicing ( )

◆ setDataBoundaries()

virtual void tinc::SlicingAtomRenderer::setDataBoundaries ( al::BoundingBoxData &  b)
overridevirtual

Reimplemented from tinc::AtomRenderer.

◆ setPositions() [1/2]

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

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 
)
inherited

◆ update()

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

◆ updateShader()

void tinc::SlicingAtomRenderer::updateShader ( al::Graphics &  g)
overrideprotectedvirtual

Reimplemented from tinc::AtomRenderer.

Member Data Documentation

◆ dataBoundary

al::BoundingBoxData tinc::AtomRenderer::dataBoundary
inherited

Definition at line 135 of file AtomRenderer.hpp.

◆ instancing_frag

std::string tinc::AtomRenderer::instancing_frag
protectedinherited
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
inherited

Definition at line 136 of file AtomRenderer.hpp.

◆ instancing_vert

std::string tinc::AtomRenderer::instancing_vert
protectedinherited

Definition at line 142 of file AtomRenderer.hpp.

◆ instancingMesh

InstancingMesh tinc::AtomRenderer::instancingMesh
inherited

Definition at line 137 of file AtomRenderer.hpp.

◆ mAlpha

al::Parameter tinc::AtomRenderer::mAlpha
inherited

Definition at line 132 of file AtomRenderer.hpp.

◆ mAtomMarkerSize

al::Parameter tinc::AtomRenderer::mAtomMarkerSize
inherited

Definition at line 130 of file AtomRenderer.hpp.

◆ mBuffer

DiskBufferNetCDFData tinc::SceneObject::mBuffer
protectedinherited

Definition at line 37 of file SceneObject.hpp.

◆ mClippedMultiplier

al::Parameter tinc::SlicingAtomRenderer::mClippedMultiplier

Definition at line 281 of file AtomRenderer.hpp.

◆ mDataScale

al::ParameterVec3 tinc::AtomRenderer::mDataScale
inherited

Definition at line 129 of file AtomRenderer.hpp.

◆ mShowAtoms

al::ParameterChoice tinc::AtomRenderer::mShowAtoms
inherited

Definition at line 131 of file AtomRenderer.hpp.

◆ mSliceRotationPitch

al::Parameter tinc::SlicingAtomRenderer::mSliceRotationPitch

Definition at line 278 of file AtomRenderer.hpp.

◆ mSliceRotationRoll

al::Parameter tinc::SlicingAtomRenderer::mSliceRotationRoll

Definition at line 280 of file AtomRenderer.hpp.

◆ mSliceRotationYaw

al::Parameter tinc::SlicingAtomRenderer::mSliceRotationYaw

Definition at line 279 of file AtomRenderer.hpp.

◆ mSlicingPlaneCorner

al::ParameterVec3 tinc::SlicingAtomRenderer::mSlicingPlaneCorner

Definition at line 273 of file AtomRenderer.hpp.

◆ mSlicingPlaneNormal

al::ParameterVec3 tinc::SlicingAtomRenderer::mSlicingPlaneNormal

Definition at line 275 of file AtomRenderer.hpp.

◆ mSlicingPlaneQuat

al::Quatf tinc::SlicingAtomRenderer::mSlicingPlaneQuat

Definition at line 276 of file AtomRenderer.hpp.

◆ mSlicingPlaneSize

al::Parameter tinc::SlicingAtomRenderer::mSlicingPlaneSize

Definition at line 274 of file AtomRenderer.hpp.

◆ mSlicingPlaneThickness

al::Parameter tinc::SlicingAtomRenderer::mSlicingPlaneThickness

Definition at line 277 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: