Contents


Preface
Guide to 2-D and 3-D Graphics
Related reading
Naming conventions
CommonPoint information set
Getting started
Taxonomy
Developer guides
Usage and tools guidelines
Application documentation
Documented sample programs and sample code
Installation and late-breaking information
Typographical conventions
Reading notation diagrams
Graphics overview
Graphics features
Resolution independent coordinate systems
Twodimensional coordinate system
Threedimensional coordinate system
Graphics and geometry classes
2D graphics
3D graphics
Graphics classes that combine
2-D geometry classes
3-D geometry classes
Corresponding classes
Underlying 2-D geometry classes
Underlying 3-D geometry classes
Integrated 2D and 3D graphics
Graphics class architecture
2D graphics classes
3D graphics classes
Extending graphics classes
Creating an application
Getting started with 2D graphics
Drawing made easy
HelloWorld.C file
Include files
PinkMake file
Constructor
Change drawing area size
Destructor
DrawContents function
Drawing simple graphics
Draw a rectangle around some text
Create the rectangle
Create the text string
TTextDisplay attributes
Change the rectangle to an ellipse
Create the ellipse
Default bundle
Draw a star with a simple bundle
Create the star geometry
Create the bundle
Create the star graphic
Transform the star
Draw two stars as a group
Transform the group
Transform star2 only
Flush the view in white
Data types
Numbers and arithmetic
GCoordinate
GDegrees
GParametric
GIntensity
Underlying geometry classes
Points
Point arrays
Infinite line
Rectangle
2-D transformation matrix
Constructors
Functions
Perspective map transformations
Affine and perspective transformations
Shearing transformation
2-D matrix examples
TranslateBy and RotateBy
SetToTranslate and SetToRotate
PreTranslateBy and PreRotateBy
Storage management
Common MGraphic behavior
Using attribute bundles
Adopting bundles
Orphaning bundles
Getting bundles
Transforming a 2D graphic
Include files
TransformBy
TranslateBy
RotateBy
Center of graphic
Origin of view
TGPoint( 0, 200 )
ScaleBy
Center of graphic
Origin of view
TGPoint( 0, 200 )
Negative scale factor
Detecting hits
Geometry functions
Graphics functions
GetGeometricBounds
GetLooseFitBounds
Speed and accuracy
TBoundsMaker
Example
Changes to THelloWorld
MouseDown function
Changes to DrawContents
2D graphics classes
Include files
Constructors
Areas
Curves
Ellipses
Glyph Runs
Constructor
Font styles
Glyph codes
Origin
Offset
Attachment
Example
Images
Lines
Loops
Polygons
Polylines
Fill algorithm for loops and polygons
Top-left polygon
Top-right polygon
Bottom-left loop
Bottom-right loop
Evenodd rule
Nonzero winding rule
TGLoop
TGPolygon
Curves, loops, and knot vectors
Parameter range rules
Curve order rules
Control point rules
Knot vector rules
Common knot vectors
Pinned knot vector
Piecewise Bézier
Curve continuity and discontinuity
Adding control points
Joining curves
Curve examples
Quadratic curve with TGPoint
Cubic curve with TGPoint
Cubic curve with TGRPointArray
Quadratic curve with knot vectors
Ellipse curve example
Closed loop example
Round rectangle example
ArcLength example
GetSectionOfCurve
DragPosition
MakeCompatible
Conic curve classes
TGArcThrough3Points
TGCardinalSpline
Tension set to 1.0 (the default)
Tesnsion set to 0.0
TGConicEndCenterEnd
otherArc set to False (the default)
otherArc set to True
TGHermiteSpline
TGTensionSpline
2D areas
Class architecture
Creating an area
Constructors, operators, and functions
Add
Subtract
Exclusive or
Intersect
Examples
Include files
Example arbitrary area
Example apple
Example banana
Example letter "L"
Advanced topics
Class architecture
Extract the geometries
Create a binary tree
Calculate edge transition
Framed areas
Example
2D images and pictures
2-D images
Class architecture
TModifiableImage derived classes
TGModifiableImage derived classes
Creating an image graphic
Include files and code
Draw part of the image
Transformation and hit detection
Image classes
Constructors
Pixel constructor
World coordinate unit constructor
Gray image and indexed image
Horizontal and vertical resolution
Orientation
Color profile
Hints
Image functions
Modifiable images
Image geometry member functions
Pictures
Class architecture
Creating a picture graphic
Include files
Code
2D graphic attributes and color
Include files
Attribute bundle class architecture
Special purpose bundles
Frame bundle
Fill bundle
Fill and frame bundle
Hairline frame bundle
Hairline fill and frame bundle
Examples
TGrafBundle
Constructors
Frame bundles
Fill and Frame bundle
Attribute state bundle
Drawing operations
Change drawing operation
Change colors
Example
Adjusted bounds
Extended attributes
Color
Color paints
Colors
RGB color space
XYZ color space
Gray scale
HSV color space
Examples
Gray scale
XYZ color space
HSV color space
Transforming color spaces
Image pattern paints
Dithering
Frame pen styles
Hairline pen
Solid pen
Frame cap styles
Flush caps
Round caps
Square caps
Frame joint styles
Bevel joint
Round joint
Miter limit joint
2D image attributes
Include files
Transfer modes
Example
Source active and destination active
Minimum Z depth
HSL and HSV
Gray and RGB
Compositing transfer modes
Source over (SrcOver)
Source around (SrcAround)
Source inside (SrcIn)
Destination inside (DstIn)
Source outside (SrcOut)
Destination outside (DstOut)
Source atop (SrcAtop
Destination atop (DstAtop)
Image sampling
Constructors
Filtering methods
Filling the abyss
Cached graphics
To cache or not to cache
Choosing graphics to cache
Device independence
Class architecture
Constructor
Drawing
Example
2-D Graphic groups
Class Architecture
Attribute bundles
Transformations
Group iteration
Adopting graphics
Finding the bounds and hit detection
Creating a group
Include files
Code
Hit testing a group
Constructor implementation
MouseDown implementation
Creating a custom graphic
MGraphic constructors
GMCGraphics.h
GMCGraphics.C
Include files
Day and month data types
Inline functions
MCollectible macro
Constructors
Destructor
Function and operator implementations
Init function
Copy operator
Streaming operators
SetSize function
Invalidate
SetDate function
CalibrateFontSizes
CalcuateFontSizes function
CalculateParameters function
CalculateColumnLabel function
CreateDayLabels function
CreateDayLabel function
TransformBy function
GetGeometricBounds
GetLooseFitBounds function
Draw function
HandleDraw function
Getting started with 3D graphics
Presenting 3-D graphics
Scene bundle
Attribute bundle
Drawing port
3-D graphics classes
Drawing made easy
Include files
PinkMake file
Drawing simple graphics
Draw a 3-D line
Transform the line
Transformation matrix
MGraphic3D transformation functions
Draw a 3-D box with a simple bundle
Change the origin
Using sweeps
Translate and rotate the torus
Move the camera
Global attributes
Graphic attributes
3-D graphic groups
Data types
Underlying geometry classes
Points
Point arrays
3-D box
3-D transformation matrix
Constructors
Functions
Perspective map transformations
Create a 3-D matrix from a 2-D matrix
Common MGraphic3D behavior
Using attribute bundles
Transforming a 3D graphic
Include files
TransformBy
TranslateBy
RotateBy
Axis rotation
Ray rotation
ScaleBy
Center of graphic
Origin of View
TGPoint3D( )
Negative scale factor
Detecting hits
Geometry functions
Graphics functions
GetGeometricBounds
GetLooseFitBounds
Speed and accuracy
Hit detection Example
Changes to THelloWorld
MouseDown function
Changes to DrawContents
3D graphics classes
Include files
Constructors
Curves
Lines
Polylines
Surfaces
TSampledSurface3D
Class architecture
Example data from a 3D digitizer
Example finite element mesh rendering
TSurface3D
Parametric space
Trimming loops
Code example
Sweeps
3D sweeps
Include files
Creating sweeps
Camera position
Visualizing the sweep
Surface orientation
TSweep3D
Single contour curve constructor
List of contour curves constructor
Contour and trajectory parameters
Curve list parameter
InitialContourXDirection parameter
Scaling curve parameter
Twist curve parameter
Cone sweep
Cylinder sweep
Extrusion sweep
Rounded box sweep
Rounded cylinder sweep
Revolution sweep
Sphere sweep
Torus sweep
3D graphic attributes
Include files
Attribute bundle class architecture
Special purpose bundles
Frame bundle
Fill bundle
Hairline frame bundle
Examples
TGrafBundle3D
Constructor
Drawing operations
Extended attributes
Frame pen
Colors and shaders
Color
Shading
Shader class architecture
Reflectance shader
Reflection model
Shading model
Shaders and texture maps
Image mapping
Bump mapping
Procedure Mapping
White noise
Example TMarbleProcedureMap
Example TWrinkleProcedureMap
Surface shading
Shading resolution
Shading interpolation
Texture mapping matrix
Backface Culling
Surface isolines and teselation control
Creating a shader
Computing the shade
Arranging shaders into a pipeline
Shader pipeline guidelines
3D scene bundles
Scene bundle constructor
Ambient light
Lights
Point light
Parallel light
Spotlight
ComputeColor
Cameras
Projection from 3-D to 2-D
Concrete camera classes
Perspective camera constructors
Parallel camera constructors
Positioning the camera
Orientation and roll
Viewing distances and clipping planes
Default camera settings
Atmosphere shader
Scene attribute
Examples
Advanced topics
Shadow generation
Articulated cameras and lights
Example
3-D graphic groups
Class architecture
Attribute bundles
Transformations
Group iteration
Adopting graphics
Finding the bounds and hit detection
Drawing ports
Drawing operation
Draw the graphic
Draw the geometry
Geometry with attribute bundle and matrix
Geometry only
Draw operation dependencies
Class architecture
Drawing port classes
Graphic state classes
Graphic state
Graphic hierarchies
Scene state
Graphic State Classes
TAttributeState
TAttribute3DState
TMatrixState
TMatrix3DState
Linkable cameras
Linkable matrices
TSceneState
TClipState
Linked ports
Example
Linked port class descriptions
Example
TMyGroup::Draw function implementation
TMyPolygon::Draw function
TSomeGrafDevice::Draw function
Graphics devices
Class architecture
Class descriptions

[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker