OpenGL-2.8.0.0: A binding for the OpenGL graphics system

Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de
Safe Haskell | None

Graphics.Rendering.OpenGL.GLU.NURBS

Description

This module corresponds to chapter 7 (NURBS) of the GLU specs.

# Documentation

type NURBSObj = Ptr GLUnurbs Source

withNURBSObj :: a -> (NURBSObj -> IO a) -> IO aSource

type NURBSBeginCallback = PrimitiveMode -> IO ()Source

withNURBSBeginCallback :: NURBSObj -> NURBSBeginCallback -> IO a -> IO aSource

type NURBSVertexCallback = Vertex3 GLfloat -> IO ()Source

withNURBSVertexCallback :: NURBSObj -> NURBSVertexCallback -> IO a -> IO aSource

type NURBSNormalCallback = Normal3 GLfloat -> IO ()Source

withNURBSNormalCallback :: NURBSObj -> NURBSNormalCallback -> IO a -> IO aSource

type NURBSColorCallback = Color4 GLfloat -> IO ()Source

withNURBSColorCallback :: NURBSObj -> NURBSColorCallback -> IO a -> IO aSource

type NURBSEndCallback = IO ()Source

withNURBSEndCallback :: NURBSObj -> NURBSEndCallback -> IO a -> IO aSource

checkForNURBSError :: NURBSObj -> IO a -> IO aSource

nurbsBeginEndCurve :: NURBSObj -> IO a -> IO aSource

nurbsCurve :: ControlPoint c => NURBSObj -> GLint -> Ptr GLfloat -> GLint -> Ptr (c GLfloat) -> GLint -> IO ()Source

nurbsBeginEndSurface :: NURBSObj -> IO a -> IO aSource

nurbsSurface :: ControlPoint c => NURBSObj -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr (c GLfloat) -> GLint -> GLint -> IO ()Source

class TrimmingPoint p Source

Instances

TrimmingPoint Vertex3 |
TrimmingPoint Vertex2 |

nurbsBeginEndTrim :: NURBSObj -> IO a -> IO aSource

pwlCurve :: TrimmingPoint p => NURBSObj -> GLint -> Ptr (p GLfloat) -> GLint -> IO ()Source

trimmingCurve :: TrimmingPoint c => NURBSObj -> GLint -> Ptr GLfloat -> GLint -> Ptr (c GLfloat) -> GLint -> IO ()Source

data NURBSMode Source

Constructors

NURBSTessellator |
NURBSRenderer |

Instances

Eq NURBSMode |
Ord NURBSMode |
Show NURBSMode |

setNURBSMode :: NURBSObj -> NURBSMode -> IO ()Source

setNURBSCulling :: NURBSObj -> Capability -> IO ()Source

data SamplingMethod Source

Constructors

PathLength GLfloat |
ParametricError GLfloat |
DomainDistance GLfloat GLfloat |
ObjectPathLength GLfloat |
ObjectParametricError GLfloat |

Instances

Eq SamplingMethod |
Ord SamplingMethod |
Show SamplingMethod |

setSamplingMethod :: NURBSObj -> SamplingMethod -> IO ()Source

loadSamplingMatrices :: (Matrix m1, Matrix m2) => NURBSObj -> Maybe (m1 GLfloat, m2 GLfloat, (Position, Size)) -> IO ()Source

data DisplayMode' Source

Constructors

Fill' |
OutlinePolygon |
OutlinePatch |

Instances

Eq DisplayMode' |
Ord DisplayMode' |
Show DisplayMode' |

setDisplayMode' :: NURBSObj -> DisplayMode' -> IO ()Source