OGLplus (0.52.0) a C++ wrapper for OpenGL

oglplus::ObjectOps< tag::DirectState, tag::PathNV > Class Template Reference

Class wrapping NV-path functions (with direct state access) More...

#include </home/chochlik/devel/oglplus/include/oglplus/ext/NV_path_rendering/path.hpp>

Inheritance diagram for oglplus::ObjectOps< tag::DirectState, tag::PathNV >:
Collaboration diagram for oglplus::ObjectOps< tag::DirectState, tag::PathNV >:

Public Member Functions

template<typename CoordType >
ObjectOpsCommands (GLsizei num_commands, const PathNVCommand *commands, GLsizei num_coords, const CoordType *coords)
 Specifies the path via a sequence of commands and coordinates. More...
 
template<typename CoordType >
ObjectOpsCommands (const std::vector< PathNVCommand > &commands, const std::vector< CoordType > &coords)
 Specifies the path via a sequence of commands and coordinates. More...
 
template<typename CoordType >
ObjectOpsSpec (const PathNVSpec< CoordType > &spec)
 Specifies the path via the PathNVSpec class. More...
 
template<typename CoordType >
ObjectOpsCoords (GLsizei num_coords, const CoordType *coords)
 Specifies the path via a sequence of coordinates. More...
 
template<typename CoordType >
ObjectOpsCoords (const std::vector< CoordType > &coords)
 Specifies the path via a sequence of coordinates. More...
 
template<typename CoordType >
ObjectOpsSubCommands (GLsizei command_start, GLsizei commands_to_delete, GLsizei num_commands, const PathNVCommand *commands, GLsizei num_coords, const CoordType *coords)
 Replaces a part of the the path with new commands and coordinates. More...
 
template<typename CoordType >
ObjectOpsSubCommands (GLsizei command_start, GLsizei commands_to_delete, const std::vector< PathNVCommand > &commands, const std::vector< CoordType > &coords)
 Replaces a part of the the path with new commands and coordinates. More...
 
template<typename CoordType >
ObjectOpsSubSpec (GLsizei command_start, GLsizei commands_to_delete, const PathNVSpec< CoordType > &spec)
 Replaces a part of the the path with new commands and coordinates. More...
 
template<typename CoordType >
ObjectOpsSubCoords (GLsizei coord_start, GLsizei num_coords, const CoordType *coords)
 Replaces some of the paths coordinates. More...
 
template<typename CoordType >
ObjectOpsSubCoords (GLsizei coord_start, const std::vector< CoordType > &coords)
 Replaces some of the paths coordinates. More...
 
ObjectOpsPathString (PathNVFormat format, GLsizei length, const GLchar *path_string)
 Specifies the path using a string. More...
 
ObjectOpsPathString (PathNVFormat format, StrCRef path_string)
 Specifies the path using an SVG string. More...
 
ObjectOpsSVGString (GLsizei length, const GLchar *path_string)
 Specifies the path using an SVG string. More...
 
ObjectOpsSVGString (StrCRef path_string)
 Specifies the path using an SVG string. More...
 
ObjectOpsPSString (GLsizei length, const GLchar *path_string)
 Specifies the path using a Postscript string. More...
 
ObjectOpsPSString (StrCRef path_string)
 Specifies the path using a Postscript string. More...
 
bool IsPointInFill (GLuint mask, GLfloat x, GLfloat y) const
 Checks if the specified point is in the path interior. More...
 
bool IsPointInStroke (GLfloat x, GLfloat y) const
 Checks if the specified point is on the path outline. More...
 
GLfloat GetLength (GLsizei start_segment, GLsizei num_segments) const
 Returns the approximation of the length of the path. More...
 
bool PointAlong (GLsizei start_segment, GLsizei num_segments, GLfloat distance, GLfloat &ref_x, GLfloat &ref_y, GLfloat &ref_tg_x, GLfloat &ref_tg_y) const
 Get a point along the specified segment of the path. More...
 
ObjectOpsStrokeWidth (GLfloat width)
 Sets the stroke width value. More...
 
GLfloat StrokeWidth (void)
 Gets the stroke width value. More...
 
ObjectOpsMiterLimit (GLfloat width)
 Sets the miter limit. More...
 
GLfloat MiterLimit (void)
 Gets the miter limit value. More...
 
ObjectOpsJoinStyle (PathNVJoinStyle style)
 Sets the stroke join style. More...
 
ObjectOpsInitialEndCap (PathNVCapStyle style)
 Sets the initial end cap style. More...
 
ObjectOpsTerminalEndCap (PathNVCapStyle style)
 Sets the terminal end cap style. More...
 
ObjectOpsInitialDashCap (PathNVCapStyle style)
 Sets the initial dash cap style. More...
 
ObjectOpsTerminalDashCap (PathNVCapStyle style)
 Sets the terminal dash cap style. More...
 
ObjectOpsDashOffset (GLfloat width)
 Sets the dash offset. More...
 
GLfloat DashOffset (void)
 Gets the dash offset value. More...
 
ObjectOpsDashOffsetReset (PathNVDashOffsetReset mode)
 Sets the dash reset mode. More...
 
ObjectOpsDashArray (GLsizei dash_count, const GLfloat *dash_array)
 Sets the path dash array. More...
 
template<typename... T>
ObjectOpsDashes (T...dashes)
 Sets the path dash array. More...
 
ObjectOpsClientLength (GLfloat value)
 Sets the client length value. More...
 
GLfloat ClientLength (void)
 Returns the client length value. More...
 
ObjectOpsStencilFill (PathNVFillMode mode, GLuint mask)
 Writes the path interior (fill) into the stencil buffer. More...
 
ObjectOpsCoverFill (PathNVFillCoverMode mode)
 Covers the stencilled path interior (fill) More...
 
ObjectOpsStencilStroke (GLint reference, GLuint mask)
 Writes the path stroke into the stencil buffer. More...
 
ObjectOpsCoverStroke (PathNVStrokeCoverMode mode)
 Covers the stencilled path stroke. More...
 

Static Public Member Functions

static PathNVName Copy (PathNVName dest_path, PathNVName src_path)
 Copy path. More...
 
static PathNVName Interpolate (PathNVName dest_path, PathNVName path_a, PathNVName path_b, GLfloat weight)
 Interpolates between two paths. More...
 
static PathNVName Transform (PathNVName dest_path, PathNVName src_path, PathNVTransformType transform_type, const GLfloat *transform_values)
 Transforms a path. More...
 

Detailed Description

template<>
class oglplus::ObjectOps< tag::DirectState, tag::PathNV >

Class wrapping NV-path functions (with direct state access)

Note
Do not use this class directly, use PathNV instead.

Member Function Documentation

ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::ClientLength ( GLfloat  value)

Sets the client length value.

Related OpenGL symbols:
glPathParameterNV GL_PATH_CLIENT_LENGTH_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::ClientLength ( void  )

Returns the client length value.

Related OpenGL symbols:
glGetPathParameterNV GL_PATH_CLIENT_LENGTH_NV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Commands ( GLsizei  num_commands,
const PathNVCommand commands,
GLsizei  num_coords,
const CoordType *  coords 
)

Specifies the path via a sequence of commands and coordinates.

Related OpenGL symbols:
glPathCommandsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Commands ( const std::vector< PathNVCommand > &  commands,
const std::vector< CoordType > &  coords 
)

Specifies the path via a sequence of commands and coordinates.

Related OpenGL symbols:
glPathCommandsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Coords ( GLsizei  num_coords,
const CoordType *  coords 
)

Specifies the path via a sequence of coordinates.

Related OpenGL symbols:
glPathCoordsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Coords ( const std::vector< CoordType > &  coords)

Specifies the path via a sequence of coordinates.

Related OpenGL symbols:
glPathCoordsNV
static PathNVName oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Copy ( PathNVName  dest_path,
PathNVName  src_path 
)
static

Copy path.

Related OpenGL symbols:
glCopyPathNV

References oglplus::GetGLName().

ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::CoverFill ( PathNVFillCoverMode  mode)

Covers the stencilled path interior (fill)

Related OpenGL symbols:
glCoverFillPathNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::CoverStroke ( PathNVStrokeCoverMode  mode)

Covers the stencilled path stroke.

Related OpenGL symbols:
glCoverStrokePathNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashArray ( GLsizei  dash_count,
const GLfloat *  dash_array 
)

Sets the path dash array.

Related OpenGL symbols:
glPathDashArrayNV
template<typename... T>
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Dashes ( T...  dashes)

Sets the path dash array.

Related OpenGL symbols:
glPathDashArrayNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashOffset ( GLfloat  width)

Sets the dash offset.

Related OpenGL symbols:
glPathParameterNV GL_PATH_DASH_OFFSET_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashOffset ( void  )

Gets the dash offset value.

Related OpenGL symbols:
glGetPathParameterNV GL_PATH_DASH_OFFSET_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashOffsetReset ( PathNVDashOffsetReset  mode)

Sets the dash reset mode.

Related OpenGL symbols:
glPathParameterNV GL_PATH_DASH_OFFSET_RESET_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::GetLength ( GLsizei  start_segment,
GLsizei  num_segments 
) const

Returns the approximation of the length of the path.

Related OpenGL symbols:
glGetPathLengthNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::InitialDashCap ( PathNVCapStyle  style)

Sets the initial dash cap style.

Related OpenGL symbols:
glPathParameterNV GL_PATH_INITIAL_DASH_CAP_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::InitialEndCap ( PathNVCapStyle  style)

Sets the initial end cap style.

Related OpenGL symbols:
glPathParameterNV GL_PATH_INITIAL_END_CAP_NV
static PathNVName oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Interpolate ( PathNVName  dest_path,
PathNVName  path_a,
PathNVName  path_b,
GLfloat  weight 
)
static

Interpolates between two paths.

Related OpenGL symbols:
glInterpolatePathsNV

References oglplus::GetGLName().

bool oglplus::ObjectOps< tag::DirectState, tag::PathNV >::IsPointInFill ( GLuint  mask,
GLfloat  x,
GLfloat  y 
) const

Checks if the specified point is in the path interior.

Related OpenGL symbols:
glIsPointInFillPathNV
bool oglplus::ObjectOps< tag::DirectState, tag::PathNV >::IsPointInStroke ( GLfloat  x,
GLfloat  y 
) const

Checks if the specified point is on the path outline.

Related OpenGL symbols:
glIsPointInStrokePathNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::JoinStyle ( PathNVJoinStyle  style)

Sets the stroke join style.

Related OpenGL symbols:
glPathParameterNV GL_PATH_JOIN_STYLE_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::MiterLimit ( GLfloat  width)

Sets the miter limit.

Related OpenGL symbols:
glPathParameterNV GL_PATH_MITER_LIMIT_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::MiterLimit ( void  )

Gets the miter limit value.

Related OpenGL symbols:
glGetPathParameterNV GL_PATH_MITER_LIMIT_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PathString ( PathNVFormat  format,
GLsizei  length,
const GLchar *  path_string 
)

Specifies the path using a string.

Related OpenGL symbols:
glPathStringNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PathString ( PathNVFormat  format,
StrCRef  path_string 
)

Specifies the path using an SVG string.

Related OpenGL symbols:
glPathStringNV

References oglplus::StrCRefTpl< Char >::c_str(), and oglplus::StrCRefTpl< Char >::size().

bool oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PointAlong ( GLsizei  start_segment,
GLsizei  num_segments,
GLfloat  distance,
GLfloat &  ref_x,
GLfloat &  ref_y,
GLfloat &  ref_tg_x,
GLfloat &  ref_tg_y 
) const

Get a point along the specified segment of the path.

Related OpenGL symbols:
glPointAlongPathNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PSString ( GLsizei  length,
const GLchar *  path_string 
)

Specifies the path using a Postscript string.

Related OpenGL symbols:
glPathStringNV GL_PATH_FORMAT_PS_NV

References oglplus::PS.

ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PSString ( StrCRef  path_string)

Specifies the path using a Postscript string.

Related OpenGL symbols:
glPathStringNV GL_PATH_FORMAT_PS_NV

References oglplus::PS.

template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Spec ( const PathNVSpec< CoordType > &  spec)

Specifies the path via the PathNVSpec class.

See Also
PathNVSpec
Related OpenGL symbols:
glPathCommandsNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StencilFill ( PathNVFillMode  mode,
GLuint  mask 
)

Writes the path interior (fill) into the stencil buffer.

Related OpenGL symbols:
glStencilFillPathNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StencilStroke ( GLint  reference,
GLuint  mask 
)

Writes the path stroke into the stencil buffer.

Related OpenGL symbols:
glStencilStrokePathNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StrokeWidth ( GLfloat  width)

Sets the stroke width value.

Related OpenGL symbols:
glPathParameterNV GL_PATH_STROKE_WIDTH_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StrokeWidth ( void  )

Gets the stroke width value.

Related OpenGL symbols:
glGetPathParameterNV GL_PATH_STROKE_WIDTH_NV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubCommands ( GLsizei  command_start,
GLsizei  commands_to_delete,
GLsizei  num_commands,
const PathNVCommand commands,
GLsizei  num_coords,
const CoordType *  coords 
)

Replaces a part of the the path with new commands and coordinates.

Related OpenGL symbols:
glPathSubCommandsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubCommands ( GLsizei  command_start,
GLsizei  commands_to_delete,
const std::vector< PathNVCommand > &  commands,
const std::vector< CoordType > &  coords 
)

Replaces a part of the the path with new commands and coordinates.

Related OpenGL symbols:
glPathSubCommandsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubCoords ( GLsizei  coord_start,
GLsizei  num_coords,
const CoordType *  coords 
)

Replaces some of the paths coordinates.

Related OpenGL symbols:
glPathSubCoordsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubCoords ( GLsizei  coord_start,
const std::vector< CoordType > &  coords 
)

Replaces some of the paths coordinates.

Related OpenGL symbols:
glPathSubCoordsNV
template<typename CoordType >
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubSpec ( GLsizei  command_start,
GLsizei  commands_to_delete,
const PathNVSpec< CoordType > &  spec 
)

Replaces a part of the the path with new commands and coordinates.

Related OpenGL symbols:
glPathCoordsNV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SVGString ( GLsizei  length,
const GLchar *  path_string 
)

Specifies the path using an SVG string.

Related OpenGL symbols:
glPathStringNV GL_PATH_FORMAT_SVG_NV

References oglplus::SVG.

ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SVGString ( StrCRef  path_string)

Specifies the path using an SVG string.

Related OpenGL symbols:
glPathStringNV GL_PATH_FORMAT_SVG_NV

References oglplus::SVG.

ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::TerminalDashCap ( PathNVCapStyle  style)

Sets the terminal dash cap style.

Related OpenGL symbols:
glPathParameterNV GL_PATH_TERMINAL_DASH_CAP_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::TerminalEndCap ( PathNVCapStyle  style)

Sets the terminal end cap style.

Related OpenGL symbols:
glPathParameterNV GL_PATH_TERMINAL_END_CAP_NV
static PathNVName oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Transform ( PathNVName  dest_path,
PathNVName  src_path,
PathNVTransformType  transform_type,
const GLfloat *  transform_values 
)
static

Transforms a path.

Related OpenGL symbols:
glTransformPathNV

References oglplus::GetGLName().


The documentation for this class was generated from the following file:
  • /home/chochlik/devel/oglplus/include/oglplus/ext/NV_path_rendering/path.hpp

Copyright © 2010-2014 Matúš Chochlík, University of Žilina, Žilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Mon Sep 22 2014 by Doxygen (version 1.8.6).