![]() |
Scanframe Modular Application 0.1.0
|
Class to render Normals from another vertex array. More...
#include <Normals.h>


Classes | |
| struct | Parameters |
| Parameters for generating the data. More... | |
Public Member Functions | |
| bool | isTarget (const VertexArrayBase *object) const |
| Checks if the passed object is where the normals are taken from. | |
| void | setTarget (const VertexArrayBase *object) |
| Sets the target for this and regenerates the data. | |
| TVertexArray (ShaderProgram *sp) | |
| Constructor. | |
Public Member Functions inherited from sf::xgl::TVertexArray< VertexArrayBase::vmPosition > | |
| TVertexArray (ShaderProgram *sp) | |
| Constructor. | |
| ~TVertexArray () override | |
| Virtual destructor. | |
| ShaderProgram * | shaderProgram () |
| Gets the associated shader program. | |
| void | draw () final |
| Overridden from base class VertexArrayBase. Uses new style OpenGL with a shader program. | |
| void | paint () final |
| Overridden from base class VertexArrayBase. Uses old style OpenGL without a shader program. | |
| bool | hasColor () const final |
| Overridden from base class VertexArrayBase. | |
| bool | hasTexture () const final |
| Overridden from base class VertexArrayBase. | |
| void | setTexture (QOpenGLTexture *texture) |
| Assigns the texture. | |
| NormalsDataType | getNormalsData () const override |
| Overridden from base class. | |
| void | clearData () override |
| Clears the data to generate array buffers. | |
Public Member Functions inherited from sf::xgl::VertexArrayBase | |
| VertexArrayBase (QOpenGLShaderProgram *parent) | |
| Default Qt object constructor. When the shader program is deleted, all vertex arrays referencing it should also be deleted. | |
| void | triggerGenerate () |
| Sets a flag to trigger data generation when the data is called for. | |
| void | setRenderOptions (RenderOptions options) |
| Modify the render options which will trigger a regeneration of the vertices and indices. | |
| RenderOptions | getRenderOptions () const |
| Gets the render options. | |
Public Attributes | |
| struct sf::xgl::Normals::Parameters | f |
Public Attributes inherited from sf::xgl::TVertexArray< VertexArrayBase::vmPosition > | |
| QOpenGLBuffer | vbo |
| Holds the vertex buffer object. | |
| QOpenGLBuffer | ebo |
| Holds the index buffer object for solid drawing. | |
Protected Member Functions | |
| void | generate () override |
| Overridden from base class. | |
| void | modifyContext (bool before, bool draw, size_t mode_index) override |
| Overridden from base class to set the line width. | |
Protected Member Functions inherited from sf::xgl::TVertexArray< VertexArrayBase::vmPosition > | |
| bool | setup () override |
| Sets up the vertex array for the OpenGL context. | |
| void | setupLayout () |
| Sets up the layout of the Vertex structure for OpenGL. | |
| void | setAttribPointer (ShaderProgram::Attribute sa, size_t offset) |
| Makes a call to setVertexAttribPointer(). | |
| void | callModifyContext (const ModeRange &mr, bool before, bool draw, size_t mode_index) |
| Calls the function modifyContext when overridden. | |
| bool | checkData () const |
| Check the data integrity of indices to vertices. | |
Protected Member Functions inherited from sf::xgl::VertexArrayBase | |
| bool | callGenerate () |
| Makes a call to virtual function generate() when the _triggerGenerate flag is set using triggerGenerate(). | |
| bool | isTriggered () const |
| Gets the flag if data is to be (re-)generated. Flag is set to True initially. | |
Additional Inherited Members | |
Public Types inherited from sf::xgl::VertexArrayBase | |
| enum | EVertexMember : VertexMember { vmPosition = 1 << 0 , vmNormal = 1 << 1 , vmColor = 1 << 2 , vmTexCoord = 1 << 3 } |
| Possible member of a vertex structure. Where the position cannot be omitted as part of the vertex. More... | |
| enum | EDrawMode { dmDrawArrays , dmDrawElements } |
| Drawing mode of by the template. More... | |
| enum | ERenderOption : int { roNone = 0 , roWires = 1 << 0 , roNormals = 1 << 1 } |
| Render options. More... | |
| typedef unsigned | VertexMember |
| Type used to describe vertex structure members. | |
| typedef TVector< std::pair< vector3f, vector3f > > | NormalsDataType |
| Type for extracting normals from all used vertices. | |
Static Public Member Functions inherited from sf::xgl::VertexArrayBase | |
| static const Color & | getDefaultColor () |
| Gets the default color used by the vertex structures when not set by the derived class. Created to have a single location for the default color. An example of how it is used: | |
| static void | setDefaultColor (const QColor &color) |
| Sets the default color used by the vertex structures when not set by the derived class. | |
Protected Types inherited from sf::xgl::TVertexArray< VertexArrayBase::vmPosition > | |
| using | Vertex = std::conditional_t< VertexMembers==vmPosition, VT_Position, std::conditional_t< VertexMembers==(vmPosition|vmColor), VT_PositionColor, std::conditional_t< VertexMembers==(vmPosition|vmNormal), VT_PositionNormal, std::conditional_t< VertexMembers==(vmPosition|vmNormal|vmColor), VT_PositionNormalColor, std::conditional_t< VertexMembers==(vmPosition|vmTexCoord), VT_PositionTexture, std::conditional_t< VertexMembers==(vmPosition|vmNormal|vmTexCoord), VT_PositionNormalTexture, std::conditional_t< VertexMembers==(vmPosition|vmNormal|vmColor|vmTexCoord), VT_PositionNormalColorTexture, void > > > > > > > |
| Conditional vertex structure type. Used for memory locations. | |
| typedef TVector< GLuint > | IndexVectorType |
| Type definition for storing indices. | |
Protected Attributes inherited from sf::xgl::TVertexArray< VertexArrayBase::vmPosition > | |
| TVector< Vertex > | _vertices |
| Holds the data of the vertices before being copied to OpenGL memory. | |
| IndexVectorType | _indices |
| Holds the data of the indices for solid and wire drawing. | |
| TVector< ModeRange > | _modes |
| Modes to call glDrawArrays() or glDrawElements() depending on the _indices member not being empty. | |
Class to render Normals from another vertex array.
|
overrideprotectedvirtual |
Overridden from base class.
Implements sf::xgl::VertexArrayBase.
| bool sf::xgl::Normals::isTarget | ( | const VertexArrayBase * | object | ) | const |
Checks if the passed object is where the normals are taken from.
|
overrideprotectedvirtual |
Overridden from base class to set the line width.
Reimplemented from sf::xgl::VertexArrayBase.
| void sf::xgl::Normals::setTarget | ( | const VertexArrayBase * | object | ) |
Sets the target for this and regenerates the data.
|
explicit |
Constructor.
| sp | Shader program instance. |
| struct sf::xgl::Normals::Parameters sf::xgl::Normals::f |