Class wrapping NV-path functions (with direct state access) More...
#include </home/chochlik/devel/oglplus/include/oglplus/ext/NV_path_rendering/path.hpp>
Public Member Functions | |
template<typename CoordType > | |
ObjectOps & | Commands (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 > | |
ObjectOps & | Commands (const std::vector< PathNVCommand > &commands, const std::vector< CoordType > &coords) |
Specifies the path via a sequence of commands and coordinates. More... | |
template<typename CoordType > | |
ObjectOps & | Spec (const PathNVSpec< CoordType > &spec) |
Specifies the path via the PathNVSpec class. More... | |
template<typename CoordType > | |
ObjectOps & | Coords (GLsizei num_coords, const CoordType *coords) |
Specifies the path via a sequence of coordinates. More... | |
template<typename CoordType > | |
ObjectOps & | Coords (const std::vector< CoordType > &coords) |
Specifies the path via a sequence of coordinates. More... | |
template<typename CoordType > | |
ObjectOps & | 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. More... | |
template<typename CoordType > | |
ObjectOps & | 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. More... | |
template<typename CoordType > | |
ObjectOps & | SubSpec (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 > | |
ObjectOps & | SubCoords (GLsizei coord_start, GLsizei num_coords, const CoordType *coords) |
Replaces some of the paths coordinates. More... | |
template<typename CoordType > | |
ObjectOps & | SubCoords (GLsizei coord_start, const std::vector< CoordType > &coords) |
Replaces some of the paths coordinates. More... | |
ObjectOps & | PathString (PathNVFormat format, GLsizei length, const GLchar *path_string) |
Specifies the path using a string. More... | |
ObjectOps & | PathString (PathNVFormat format, StrCRef path_string) |
Specifies the path using an SVG string. More... | |
ObjectOps & | SVGString (GLsizei length, const GLchar *path_string) |
Specifies the path using an SVG string. More... | |
ObjectOps & | SVGString (StrCRef path_string) |
Specifies the path using an SVG string. More... | |
ObjectOps & | PSString (GLsizei length, const GLchar *path_string) |
Specifies the path using a Postscript string. More... | |
ObjectOps & | PSString (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... | |
ObjectOps & | StrokeWidth (GLfloat width) |
Sets the stroke width value. More... | |
GLfloat | StrokeWidth (void) |
Gets the stroke width value. More... | |
ObjectOps & | MiterLimit (GLfloat width) |
Sets the miter limit. More... | |
GLfloat | MiterLimit (void) |
Gets the miter limit value. More... | |
ObjectOps & | JoinStyle (PathNVJoinStyle style) |
Sets the stroke join style. More... | |
ObjectOps & | InitialEndCap (PathNVCapStyle style) |
Sets the initial end cap style. More... | |
ObjectOps & | TerminalEndCap (PathNVCapStyle style) |
Sets the terminal end cap style. More... | |
ObjectOps & | InitialDashCap (PathNVCapStyle style) |
Sets the initial dash cap style. More... | |
ObjectOps & | TerminalDashCap (PathNVCapStyle style) |
Sets the terminal dash cap style. More... | |
ObjectOps & | DashOffset (GLfloat width) |
Sets the dash offset. More... | |
GLfloat | DashOffset (void) |
Gets the dash offset value. More... | |
ObjectOps & | DashOffsetReset (PathNVDashOffsetReset mode) |
Sets the dash reset mode. More... | |
ObjectOps & | DashArray (GLsizei dash_count, const GLfloat *dash_array) |
Sets the path dash array. More... | |
template<typename... T> | |
ObjectOps & | Dashes (T...dashes) |
Sets the path dash array. More... | |
ObjectOps & | ClientLength (GLfloat value) |
Sets the client length value. More... | |
GLfloat | ClientLength (void) |
Returns the client length value. More... | |
ObjectOps & | StencilFill (PathNVFillMode mode, GLuint mask) |
Writes the path interior (fill) into the stencil buffer. More... | |
ObjectOps & | CoverFill (PathNVFillCoverMode mode) |
Covers the stencilled path interior (fill) More... | |
ObjectOps & | StencilStroke (GLint reference, GLuint mask) |
Writes the path stroke into the stencil buffer. More... | |
ObjectOps & | CoverStroke (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... | |
Class wrapping NV-path functions (with direct state access)
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::ClientLength | ( | GLfloat | value | ) |
Sets the client length value.
GL_PATH_CLIENT_LENGTH_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::ClientLength | ( | void | ) |
Returns the client length value.
GL_PATH_CLIENT_LENGTH_NV
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.
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.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Coords | ( | GLsizei | num_coords, |
const CoordType * | coords | ||
) |
Specifies the path via a sequence of coordinates.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Coords | ( | const std::vector< CoordType > & | coords | ) |
Specifies the path via a sequence of coordinates.
|
static |
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::CoverFill | ( | PathNVFillCoverMode | mode | ) |
Covers the stencilled path interior (fill)
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::CoverStroke | ( | PathNVStrokeCoverMode | mode | ) |
Covers the stencilled path stroke.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashArray | ( | GLsizei | dash_count, |
const GLfloat * | dash_array | ||
) |
Sets the path dash array.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Dashes | ( | T... | dashes | ) |
Sets the path dash array.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashOffset | ( | GLfloat | width | ) |
Sets the dash offset.
GL_PATH_DASH_OFFSET_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashOffset | ( | void | ) |
Gets the dash offset value.
GL_PATH_DASH_OFFSET_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::DashOffsetReset | ( | PathNVDashOffsetReset | mode | ) |
Sets the dash reset mode.
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.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::InitialDashCap | ( | PathNVCapStyle | style | ) |
Sets the initial dash cap style.
GL_PATH_INITIAL_DASH_CAP_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::InitialEndCap | ( | PathNVCapStyle | style | ) |
Sets the initial end cap style.
GL_PATH_INITIAL_END_CAP_NV
|
static |
Interpolates between two paths.
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.
bool oglplus::ObjectOps< tag::DirectState, tag::PathNV >::IsPointInStroke | ( | GLfloat | x, |
GLfloat | y | ||
) | const |
Checks if the specified point is on the path outline.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::JoinStyle | ( | PathNVJoinStyle | style | ) |
Sets the stroke join style.
GL_PATH_JOIN_STYLE_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::MiterLimit | ( | GLfloat | width | ) |
Sets the miter limit.
GL_PATH_MITER_LIMIT_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::MiterLimit | ( | void | ) |
Gets the miter limit value.
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.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PathString | ( | PathNVFormat | format, |
StrCRef | path_string | ||
) |
Specifies the path using an SVG string.
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.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::PSString | ( | GLsizei | length, |
const GLchar * | path_string | ||
) |
Specifies the path using a Postscript string.
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.
GL_PATH_FORMAT_PS_NV
References oglplus::PS.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::Spec | ( | const PathNVSpec< CoordType > & | spec | ) |
Specifies the path via the PathNVSpec class.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StencilFill | ( | PathNVFillMode | mode, |
GLuint | mask | ||
) |
Writes the path interior (fill) into the stencil buffer.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StencilStroke | ( | GLint | reference, |
GLuint | mask | ||
) |
Writes the path stroke into the stencil buffer.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StrokeWidth | ( | GLfloat | width | ) |
Sets the stroke width value.
GL_PATH_STROKE_WIDTH_NV
GLfloat oglplus::ObjectOps< tag::DirectState, tag::PathNV >::StrokeWidth | ( | void | ) |
Gets the stroke width value.
GL_PATH_STROKE_WIDTH_NV
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.
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.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubCoords | ( | GLsizei | coord_start, |
GLsizei | num_coords, | ||
const CoordType * | coords | ||
) |
Replaces some of the paths coordinates.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SubCoords | ( | GLsizei | coord_start, |
const std::vector< CoordType > & | coords | ||
) |
Replaces some of the paths coordinates.
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.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::SVGString | ( | GLsizei | length, |
const GLchar * | path_string | ||
) |
Specifies the path using an SVG string.
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.
GL_PATH_FORMAT_SVG_NV
References oglplus::SVG.
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::TerminalDashCap | ( | PathNVCapStyle | style | ) |
Sets the terminal dash cap style.
GL_PATH_TERMINAL_DASH_CAP_NV
ObjectOps& oglplus::ObjectOps< tag::DirectState, tag::PathNV >::TerminalEndCap | ( | PathNVCapStyle | style | ) |
Sets the terminal end cap style.
GL_PATH_TERMINAL_END_CAP_NV
|
static |