Molecular Vis
Improving perception of molecular visualization
|
Class for procedurally genereted geometries, like spheres and cubes. More...
#include <Geometry.h>
Public Member Functions | |
ProceduralGeometry (glm::mat4 modelMatrix, GeometryData &geometryData, std::shared_ptr< Material > material) | |
ProceduralGeometry (glm::mat4 modelMatrix, GeometryData &geometryData, std::shared_ptr< Shader > shader) | |
virtual void | draw (glm::mat4 matrix=glm::mat4(1.0f)) |
Static Public Member Functions | |
static GeometryData | createCubeGeometry (float width, float height, float depth) |
static GeometryData | createSphereGeometry (float radius, unsigned int longitudeSegments, unsigned int latitudeSegments) |
static void | createSphereGeometry (float radius, unsigned int longitudeSegments, unsigned int latitudeSegments, glm::vec3 position, GeometryData &geometry) |
static GeometryData | createCylinderGeometry (float radius, float height, unsigned int segments) |
static GeometryData | createFullScreenQuad () |
Additional Inherited Members | |
![]() | |
glm::mat4 | modelMatrix |
Class for procedurally genereted geometries, like spheres and cubes.
ProceduralGeometry::ProceduralGeometry | ( | glm::mat4 | modelMatrix, |
GeometryData & | geometryData, | ||
std::shared_ptr< Material > | material | ||
) |
Creates a procedural geometry object
modelMatrix | The model matrix of the geometry. Transforms geometry from object to world space. |
geometryData | Data of the vertices and connectivity. This is used to construct the indexed buffers. |
material | Material of the geometry, defining the brdf properties of the geometry. |
ProceduralGeometry::ProceduralGeometry | ( | glm::mat4 | modelMatrix, |
GeometryData & | geometryData, | ||
std::shared_ptr< Shader > | shader | ||
) |
Creates a procedural geometry object with standard material values for a given shader.
modelMatrix | The model matrix of the geometry. Transforms geometry from object to world space. |
geometryData | Data of the vertices and connectivity. This is used to construct the indexed buffers. |
shader | Shader that is used to draw. Is used to construct the default material. |
|
static |
Creates GeometryData for a cube.
width,height,depth | dimensions of the cube |
|
static |
Creates GeometryData for a cylinder.
radius | Radius of cylinder. |
height | Height of cylinder. |
segments | Number of segments along cylinder used for triangulation. |
|
static |
Creates a full-screen quad with texture coordinates from (0,0) to (1,1)
|
static |
Creates GeometryData for a sphere.
radius | Radius of sphere |
longitudeSegments | Number of segments along longitude. |
latitudeSegments | Number of segments along latitude. |
|
static |
Append a Sphere to the given GeometryData at a given position. Can be used to construct a collection of spheres.
radius | Radius of sphere | |
longitudeSegments | Number of segments along longitude. | |
latitudeSegments | Number of segments along latitude. | |
position | Coordinates of position where this sphere will be added. | |
[in,out] | geometry | GeometryData to which the sphere will be added. |
|
virtual |