This reference page is linked to from the following overview topics: Porting Object Plug-ins to Nitrous, How Objects are Drawn in the Viewport, Viewports and Graphics Windows, Hit Testing in the Graphics Windows, Using setHitCode and setHitDistance, Rasterization and Z-Buffers, Geometric Primitives Supported by the Graphics Window, Rendering Modes and Rendering Limits, Graphics Window Coordinate Systems, Graphics Window Light and Materials, Displaying the Modifier Gizmo.
#include <GraphicsWindow.h>

Public Member Functions |
|
| virtual | ~GraphicsWindow () |
| virtual void | postCreate (int ct, GraphicsWindow **gw)=0 |
| virtual void | shutdown ()=0 |
| virtual int | getVersion ()=0 |
| virtual MCHAR * | getDriverString (void)=0 |
| virtual void | config (HWND hWnd)=0 |
| virtual int | querySupport (int what)=0 |
| virtual HWND | getHWnd (void)=0 |
| virtual void | setPos (int x, int y, int w, int h)=0 |
| virtual void | setDisplayState (int s)=0 |
| virtual int | getDisplayState ()=0 |
| virtual int | getWinSizeX ()=0 |
| virtual int | getWinSizeY ()=0 |
| virtual DWORD | getWinDepth (void)=0 |
| virtual DWORD | getHitherCoord (void)=0 |
| virtual DWORD | getYonCoord (void)=0 |
| virtual void | getTextExtents (MCHAR *text, SIZE *sp)=0 |
| virtual int | getMaxStripLength () |
| virtual void | setFlags (DWORD f)=0 |
| virtual DWORD | getFlags ()=0 |
| virtual void | resetUpdateRect ()=0 |
| virtual void | enlargeUpdateRect (RECT *rp)=0 |
| virtual int | getUpdateRect (RECT *rp)=0 |
| virtual void | updateScreen ()=0 |
| virtual BOOL | setBufAccess (int which, int b)=0 |
| virtual BOOL | getBufAccess (int which)=0 |
| virtual BOOL | getBufSize (int which, int *size)=0 |
| virtual BOOL | getBuf (int which, int size, void *buf)=0 |
| virtual BOOL | setBuf (int which, int size, void *buf, RECT *rp)=0 |
| virtual BOOL | getDIB (BITMAPINFO *bmi, int *size)=0 |
| virtual BOOL | setBackgroundDIB (int width, int height, BITMAPINFO *bmi)=0 |
| virtual void | setBackgroundOffset (int x, int y)=0 |
| virtual int | useClosestTextureSize (int bkg=FALSE)=0 |
| virtual int | getTextureSize (int bkg=FALSE)=0 |
| virtual DWORD_PTR | getTextureHandle (BITMAPINFO *bmi)=0 |
| virtual void | freeTextureHandle (DWORD_PTR handle)=0 |
| virtual BOOL | setTextureByHandle (DWORD_PTR handle, int texStage=0)=0 |
| virtual void | setTextureColorOp (int texStage=0, int texOp=GW_TEX_MODULATE, int texAlphaSource=GW_TEX_TEXTURE, int texScale=GW_TEX_SCALE_1X)=0 |
| virtual void | setTextureAlphaOp (int texStage=0, int texOp=GW_TEX_MODULATE, int texAlphaSource=GW_TEX_TEXTURE, int texScale=GW_TEX_SCALE_1X)=0 |
| virtual BOOL | setTextureTiling (int u, int v, int w=GW_TEX_NO_TILING, int texStage=0)=0 |
| virtual int | getTextureTiling (int which, int texStage=0)=0 |
| virtual void | beginFrame ()=0 |
| virtual void | endFrame ()=0 |
| virtual void | setViewport (int x, int y, int w, int h)=0 |
| virtual void | setVirtualViewportParams (float zoom, float xOffset, float yOffset)=0 |
| virtual void | setUseVirtualViewport (int onOff)=0 |
| virtual void | clearScreen (RECT *rp, int useBkg=FALSE)=0 |
| virtual void | setTransform (const Matrix3 &m)=0 |
| virtual Matrix3 | getTransform (void)=0 |
| virtual void | multiplePass (int pass, BOOL onOff, float scaleFact=1.005f)=0 |
| virtual void | setTransparency (DWORD settings)=0 |
| virtual void | setTexTransform (const Matrix3 &m, int texStage=0)=0 |
| virtual BOOL | getFlipped (void)=0 |
| virtual void | setSkipCount (int c)=0 |
| virtual int | getSkipCount (void)=0 |
| virtual void | setViewportLimits (DWORD l)=0 |
| virtual DWORD | getViewportLimits (void)=0 |
| virtual void | setRndLimits (DWORD l)=0 |
| virtual DWORD | getRndLimits (void)=0 |
| virtual DWORD | getRndMode (void)=0 |
| virtual int | getMaxLights (void)=0 |
| virtual void | setLight (int num, const Light *l)=0 |
| virtual void | setLightExclusion (DWORD exclVec)=0 |
| virtual void | setCamera (const Camera &c)=0 |
| virtual void | setCameraMatrix (float mat[4][4], Matrix3 *invTM, int persp, float hither, float yon)=0 |
| virtual void | getCameraMatrix (float mat[4][4], Matrix3 *invTM, int *persp, float *hither, float *yon)=0 |
| virtual void | setColor (ColorType t, float r, float g, float b)=0 |
| void | setColor (ColorType t, Point3 clr) |
| virtual void | setMaterial (const Material &m, int index=0)=0 |
| virtual Material * | getMaterial (void)=0 |
| virtual int | getMaxTextures (void)=0 |
| virtual DWORD | hTransPoint (const Point3 *in, IPoint3 *out)=0 |
| virtual DWORD | wTransPoint (const Point3 *in, IPoint3 *out)=0 |
| virtual DWORD | transPoint (const Point3 *in, Point3 *out)=0 |
| virtual void | lightVertex (const Point3 &pos, const Point3 &nor, Point3 &rgb)=0 |
| virtual void | hText (IPoint3 *xyz, MCHAR *s)=0 |
| virtual void | hMarker (IPoint3 *xyz, MarkerType type)=0 |
| virtual void | hPolyline (int ct, IPoint3 *xyz, Point3 *rgb, int closed, int *es)=0 |
| void | hPolyline (int ct, IPoint3 *xyz, Point3 *rgb, Point3 *uvw, int closed, int *es) |
| virtual void | hPolygon (int ct, IPoint3 *xyz, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | hTriStrip (int ct, IPoint3 *xyz, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | wText (IPoint3 *xyz, MCHAR *s)=0 |
| virtual void | wMarker (IPoint3 *xyz, MarkerType type)=0 |
| virtual void | wPolyline (int ct, IPoint3 *xyz, Point3 *rgb, int closed, int *es)=0 |
| void | wPolyline (int ct, IPoint3 *xyz, Point3 *rgb, Point3 *uvw, int closed, int *es) |
| virtual void | wPolygon (int ct, IPoint3 *xyz, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | wTriStrip (int ct, IPoint3 *xyz, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | text (Point3 *xyz, MCHAR *s)=0 |
| virtual void | startMarkers ()=0 |
| virtual void | marker (Point3 *xyz, MarkerType type)=0 |
| virtual void | endMarkers ()=0 |
| virtual void | polyline (int ct, Point3 *xyz, Point3 *rgb, int closed, int *es)=0 |
| void | polyline (int ct, Point3 *xyz, Point3 *rgb, Point3 *uvw, int closed, int *es) |
| virtual void | polylineN (int ct, Point3 *xyz, Point3 *nor, int closed, int *es)=0 |
| virtual void | startSegments ()=0 |
| virtual void | segment (Point3 *xyz, int vis)=0 |
| virtual void | endSegments ()=0 |
| virtual void | polygon (int ct, Point3 *xyz, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | polygonN (int ct, Point3 *xyz, Point3 *nor, Point3 *uvw, int texNum=1)=0 |
| virtual void | triStrip (int ct, Point3 *xyz, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | triStripN (int ct, Point3 *xyz, Point3 *nor, Point3 *uvw, int texNum=1)=0 |
| virtual void | startTriangles ()=0 |
| virtual void | triangle (Point3 *xyz, Point3 *rgb)=0 |
| virtual void | triangleN (Point3 *xyz, Point3 *nor, Point3 *uvw, int texNum=1)=0 |
| virtual void | triangleNC (Point3 *xyz, Point3 *nor, Point3 *rgb)=0 |
| virtual void | triangleNCT (Point3 *xyz, Point3 *nor, Point3 *rgb, Point3 *uvw, int texNum=1)=0 |
| virtual void | triangleW (Point3 *xyz, int *es)=0 |
| virtual void | triangleNW (Point3 *xyz, Point3 *nor, int *es)=0 |
| virtual void | endTriangles ()=0 |
| virtual void | loadMeshData (DWORD_PTR id, int xyzCt, Point3 *xyz, int norCt, Point3 *nor, int texNum, int uvwCt, Point3 *uvw, int mtlCt, Material *mtl)=0 |
| virtual void | processStrips (DWORD_PTR id, int stripCt, StripTab *s, GFX_ESCAPE_FN fn)=0 |
| virtual void | processWireFaces (int xyzCt, Point3 *xyz, int faceCt, GWFace *face, int dispFlags, BitArray *faceSel, BitArray *edgeSel, int mtlCt, Material *mtl, GFX_ESCAPE_FN fn)=0 |
| virtual void | setHitRegion (HitRegion *rgn)=0 |
| virtual void | clearHitCode (void)=0 |
| virtual BOOL | checkHitCode (void)=0 |
| virtual void | setHitCode (BOOL h)=0 |
| virtual DWORD | getHitDistance (void)=0 |
| virtual void | setHitDistance (DWORD d)=0 |
| virtual int | isPerspectiveView (void)=0 |
| virtual float | interpWorld (Point3 *world1, Point3 *world2, float sParam, Point3 *interpPt)=0 |
| virtual void | MarkerBufferSetMarkerType (MarkerType type) |
| virtual DWORD | MarkerGetDXColor (Point3 p) |
| virtual VertexBuffer * | MarkerBufferLock () |
| virtual void | MarkerBufferUnLock () |
| virtual int | MarkerBufferSize () |
| virtual int | MarkerBufferStride () |
| virtual void | MarkerBufferDraw (int numberOfMarkers) |
| virtual DWORD | LineGetDXColor (Point3 p) |
| virtual LineBuffer * | LineBufferLock () |
| virtual void | LineBufferUnLock () |
| virtual int | LineBufferSize () |
| virtual int | LineBufferStride () |
| virtual void | LineBufferDraw (int numberOfSegments) |
| virtual void | escape (GFX_ESCAPE_FN fn, void *data)=0 |
| virtual BOOL | getDepthValue (float x, float y, float *z) |
| virtual void | clearViewportDepth () |
| virtual GFX_MESH::IHWSubMesh * | CreateHWDrawMesh (GFX_MESH::HWTupleMesh *hwMesh) |
| virtual void | DrawHWDrawMesh (GFX_MESH::HWTupleMesh *hwMesh) |
| virtual ~GraphicsWindow | ( | ) | [inline, virtual] |
{}
| virtual void postCreate | ( | int | ct, |
| GraphicsWindow ** | gw | ||
| ) | [pure virtual] |
| virtual void shutdown | ( | ) | [pure virtual] |
| virtual int getVersion | ( | ) | [pure virtual] |
| virtual MCHAR* getDriverString | ( | void | ) | [pure virtual] |
| virtual void config | ( | HWND | hWnd | ) | [pure virtual] |
| virtual int querySupport | ( | int | what | ) | [pure virtual] |
| virtual HWND getHWnd | ( | void | ) | [pure virtual] |
| virtual void setPos | ( | int | x, |
| int | y, | ||
| int | w, | ||
| int | h | ||
| ) | [pure virtual] |
| virtual void setDisplayState | ( | int | s | ) | [pure virtual] |
| virtual int getDisplayState | ( | ) | [pure virtual] |
| virtual int getWinSizeX | ( | ) | [pure virtual] |
| virtual int getWinSizeY | ( | ) | [pure virtual] |
| virtual DWORD getWinDepth | ( | void | ) | [pure virtual] |
| virtual DWORD getHitherCoord | ( | void | ) | [pure virtual] |
| virtual DWORD getYonCoord | ( | void | ) | [pure virtual] |
| virtual void getTextExtents | ( | MCHAR * | text, |
| SIZE * | sp | ||
| ) | [pure virtual] |
| virtual int getMaxStripLength | ( | ) | [inline, virtual] |
{ return GFX_MAX_STRIP; }
| virtual void setFlags | ( | DWORD | f | ) | [pure virtual] |
| virtual DWORD getFlags | ( | ) | [pure virtual] |
| virtual void resetUpdateRect | ( | ) | [pure virtual] |
| virtual void enlargeUpdateRect | ( | RECT * | rp | ) | [pure virtual] |
| virtual int getUpdateRect | ( | RECT * | rp | ) | [pure virtual] |
| virtual void updateScreen | ( | ) | [pure virtual] |
| virtual BOOL setBufAccess | ( | int | which, |
| int | b | ||
| ) | [pure virtual] |
| virtual BOOL getBufAccess | ( | int | which | ) | [pure virtual] |
| virtual BOOL getBufSize | ( | int | which, |
| int * | size | ||
| ) | [pure virtual] |
| virtual BOOL getBuf | ( | int | which, |
| int | size, | ||
| void * | buf | ||
| ) | [pure virtual] |
| virtual BOOL setBuf | ( | int | which, |
| int | size, | ||
| void * | buf, | ||
| RECT * | rp | ||
| ) | [pure virtual] |
| virtual BOOL getDIB | ( | BITMAPINFO * | bmi, |
| int * | size | ||
| ) | [pure virtual] |
void TestGetDIB(IObjParam *ip)
{
BITMAPINFO *bmi = NULL;
BITMAPINFOHEADER *bmih;
BitmapInfo biFile;
Bitmap *map;
int size;
TheManager->SelectFileOutput(\&biFile,
ip->GetMAXHWnd(), _M("Testing"));
if(!biFile.Name()[0])
return;
ViewExp *vpt = ip->GetActiveViewport();
vpt->getGW()->getDIB(NULL, \&size);
bmi = (BITMAPINFO *)malloc(size);
bmih = (BITMAPINFOHEADER *)bmi;
vpt->getGW()->getDIB(bmi, \&size);
biFile.SetWidth((WORD)bmih->biWidth);
biFile.SetHeight((WORD)bmih->biHeight);
biFile.SetType(BMM_TRUE_32);
map = TheManager->Create(\&biFile);
map->OpenOutput(\&biFile);
map->FromDib(bmi);
map->Write(\&biFile);
map->Close(\&biFile);
if(bmi)
free(bmi);
ip->ReleaseViewport(vpt);
}
| virtual BOOL setBackgroundDIB | ( | int | width, |
| int | height, | ||
| BITMAPINFO * | bmi | ||
| ) | [pure virtual] |
| virtual void setBackgroundOffset | ( | int | x, |
| int | y | ||
| ) | [pure virtual] |
| virtual int useClosestTextureSize | ( | int | bkg = FALSE |
) | [pure virtual] |
| virtual int getTextureSize | ( | int | bkg = FALSE |
) | [pure virtual] |
| virtual DWORD_PTR getTextureHandle | ( | BITMAPINFO * | bmi | ) | [pure virtual] |
| virtual void freeTextureHandle | ( | DWORD_PTR | handle | ) | [pure virtual] |
| virtual BOOL setTextureByHandle | ( | DWORD_PTR | handle, |
| int | texStage = 0 |
||
| ) | [pure virtual] |
| virtual void setTextureColorOp | ( | int | texStage = 0, |
| int | texOp =
GW_TEX_MODULATE, |
||
| int | texAlphaSource =
GW_TEX_TEXTURE, |
||
| int | texScale =
GW_TEX_SCALE_1X |
||
| ) | [pure virtual] |
| virtual void setTextureAlphaOp | ( | int | texStage = 0, |
| int | texOp =
GW_TEX_MODULATE, |
||
| int | texAlphaSource =
GW_TEX_TEXTURE, |
||
| int | texScale =
GW_TEX_SCALE_1X |
||
| ) | [pure virtual] |
| virtual BOOL setTextureTiling | ( | int | u, |
| int | v, | ||
| int | w =
GW_TEX_NO_TILING, |
||
| int | texStage = 0 |
||
| ) | [pure virtual] |
| virtual int getTextureTiling | ( | int | which, |
| int | texStage = 0 |
||
| ) | [pure virtual] |
| virtual void beginFrame | ( | ) | [pure virtual] |
| virtual void endFrame | ( | ) | [pure virtual] |
| virtual void setViewport | ( | int | x, |
| int | y, | ||
| int | w, | ||
| int | h | ||
| ) | [pure virtual] |
| virtual void setVirtualViewportParams | ( | float | zoom, |
| float | xOffset, | ||
| float | yOffset | ||
| ) | [pure virtual] |
| virtual void setUseVirtualViewport | ( | int | onOff | ) | [pure virtual] |
| virtual void clearScreen | ( | RECT * | rp, |
| int | useBkg =
FALSE |
||
| ) | [pure virtual] |
| virtual void setTransform | ( | const Matrix3 & | m | ) | [pure virtual] |
| virtual Matrix3 getTransform | ( | void | ) | [pure virtual] |
| virtual void multiplePass | ( | int | pass, |
| BOOL | onOff, | ||
| float | scaleFact =
1.005f |
||
| ) | [pure virtual] |
| virtual void setTransparency | ( | DWORD | settings | ) | [pure virtual] |
| virtual void setTexTransform | ( | const Matrix3 & | m, |
| int | texStage = 0 |
||
| ) | [pure virtual] |
| virtual BOOL getFlipped | ( | void | ) | [pure virtual] |
| virtual void setSkipCount | ( | int | c | ) | [pure virtual] |
| virtual int getSkipCount | ( | void | ) | [pure virtual] |
| virtual void setViewportLimits | ( | DWORD | l | ) | [pure virtual] |
| virtual DWORD getViewportLimits | ( | void | ) | [pure virtual] |
| virtual void setRndLimits | ( | DWORD | l | ) | [pure virtual] |
| virtual DWORD getRndLimits | ( | void | ) | [pure virtual] |
| virtual DWORD getRndMode | ( | void | ) | [pure virtual] |
| virtual int getMaxLights | ( | void | ) | [pure virtual] |
| virtual void setLight | ( | int | num, |
| const Light * | l | ||
| ) | [pure virtual] |
| virtual void setLightExclusion | ( | DWORD | exclVec | ) | [pure virtual] |
| virtual void setCamera | ( | const Camera & | c | ) | [pure virtual] |
| virtual void setCameraMatrix | ( | float | mat[4][4], |
| Matrix3 * | invTM, | ||
| int | persp, | ||
| float | hither, | ||
| float | yon | ||
| ) | [pure virtual] |
| virtual void getCameraMatrix | ( | float | mat[4][4], |
| Matrix3 * | invTM, | ||
| int * | persp, | ||
| float * | hither, | ||
| float * | yon | ||
| ) | [pure virtual] |
| virtual void setColor | ( | ColorType | t, |
| float | r, | ||
| float | g, | ||
| float | b | ||
| ) | [pure virtual] |
| void setColor | ( | ColorType | t, |
| Point3 | clr | ||
| ) | [inline] |
| virtual void setMaterial | ( | const Material & | m, |
| int | index = 0 |
||
| ) | [pure virtual] |
| virtual Material* getMaterial | ( | void | ) | [pure virtual] |
| virtual int getMaxTextures | ( | void | ) | [pure virtual] |
| virtual void hText | ( | IPoint3 * | xyz, |
| MCHAR * | s | ||
| ) | [pure virtual] |
| virtual void hMarker | ( | IPoint3 * | xyz, |
| MarkerType | type | ||
| ) | [pure virtual] |
{ hPolyline(ct, xyz, rgb, closed, es); }
| virtual void hPolygon | ( | int | ct, |
| IPoint3 * | xyz, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void hTriStrip | ( | int | ct, |
| IPoint3 * | xyz, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void wText | ( | IPoint3 * | xyz, |
| MCHAR * | s | ||
| ) | [pure virtual] |
| virtual void wMarker | ( | IPoint3 * | xyz, |
| MarkerType | type | ||
| ) | [pure virtual] |
{ wPolyline(ct, xyz, rgb, closed, es); }
| virtual void wPolygon | ( | int | ct, |
| IPoint3 * | xyz, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void wTriStrip | ( | int | ct, |
| IPoint3 * | xyz, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void text | ( | Point3 * | xyz, |
| MCHAR * | s | ||
| ) | [pure virtual] |
| virtual void startMarkers | ( | ) | [pure virtual] |
| virtual void marker | ( | Point3 * | xyz, |
| MarkerType | type | ||
| ) | [pure virtual] |
| virtual void endMarkers | ( | ) | [pure virtual] |
{ polyline(ct, xyz, rgb, closed, es); }
| virtual void startSegments | ( | ) | [pure virtual] |
| virtual void segment | ( | Point3 * | xyz, |
| int | vis | ||
| ) | [pure virtual] |
| virtual void endSegments | ( | ) | [pure virtual] |
| virtual void polygon | ( | int | ct, |
| Point3 * | xyz, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void polygonN | ( | int | ct, |
| Point3 * | xyz, | ||
| Point3 * | nor, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void triStrip | ( | int | ct, |
| Point3 * | xyz, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void triStripN | ( | int | ct, |
| Point3 * | xyz, | ||
| Point3 * | nor, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void startTriangles | ( | ) | [pure virtual] |
| virtual void triangleNCT | ( | Point3 * | xyz, |
| Point3 * | nor, | ||
| Point3 * | rgb, | ||
| Point3 * | uvw, | ||
| int | texNum = 1 |
||
| ) | [pure virtual] |
| virtual void triangleW | ( | Point3 * | xyz, |
| int * | es | ||
| ) | [pure virtual] |
| virtual void endTriangles | ( | ) | [pure virtual] |
| virtual void processStrips | ( | DWORD_PTR | id, |
| int | stripCt, | ||
| StripTab * | s, | ||
| GFX_ESCAPE_FN | fn | ||
| ) | [pure virtual] |
| virtual void setHitRegion | ( | HitRegion * | rgn | ) | [pure virtual] |
| virtual void clearHitCode | ( | void | ) | [pure virtual] |
| virtual BOOL checkHitCode | ( | void | ) | [pure virtual] |
| virtual void setHitCode | ( | BOOL | h | ) | [pure virtual] |
int steps = GetMeshSteps();
int segNum = steps+2;
float fsegNum = (float) (segNum-1);
// If steps are too high for GraphicsWindow's buffer, we must draw it
manually
if((steps + 2) > GW_MAX_VERTS) {
Point3 line[2];
Point3 prev,current(.0f,.0f,.0f);
BOOL hitAll = TRUE;
BOOL hitAny = FALSE;
DWORD hitDist = 0xffffffff;
for(int terp = 0; terp \
{
prev = current;
current = work.InterpCurve3D((float)terp / fsegNum);
if (terp != 0)
{
line[0] = prev;
line[1] = current;
gw->clearHitCode();
gw->polyline(2, line, NULL, NULL, 0, NULL);
if(gw->checkHitCode()) {
hitAny = TRUE;
if(gw->getHitDistance() \
hitDist = gw->getHitDistance();
}
else hitAll = FALSE;
}
}
if(hr && !hr->crossing && hr->type != POINT_RGN)
gw->setHitCode(hitAll);
else
gw->setHitCode(hitAny);
gw->setHitDistance(hitDist);
} else {
for(int terp = 0; terp \
fixedBuf[terp] = work.InterpCurve3D((float)terp /
fsegNum);
gw->polyline(steps+2, fixedBuf, NULL, NULL, 0, NULL);
}
| virtual DWORD getHitDistance | ( | void | ) | [pure virtual] |
| virtual void setHitDistance | ( | DWORD | d | ) | [pure virtual] |
| virtual int isPerspectiveView | ( | void | ) | [pure virtual] |
| virtual float interpWorld | ( | Point3 * | world1, |
| Point3 * | world2, | ||
| float | sParam, | ||
| Point3 * | interpPt | ||
| ) | [pure virtual] |
| virtual void MarkerBufferSetMarkerType | ( | MarkerType | type | ) | [inline, virtual] |
| virtual DWORD MarkerGetDXColor | ( | Point3 | p | ) | [inline, virtual] |
{return 0;};
| virtual VertexBuffer* MarkerBufferLock | ( | ) | [inline, virtual] |
{ return NULL;};
| virtual void MarkerBufferUnLock | ( | ) | [inline, virtual] |
| virtual int MarkerBufferSize | ( | ) | [inline, virtual] |
{return 0;};
| virtual int MarkerBufferStride | ( | ) | [inline, virtual] |
{ return 0;};
| virtual void MarkerBufferDraw | ( | int | numberOfMarkers | ) | [inline, virtual] |
| virtual DWORD LineGetDXColor | ( | Point3 | p | ) | [inline, virtual] |
{return 0;};
| virtual LineBuffer* LineBufferLock | ( | ) | [inline, virtual] |
{ return NULL;};
| virtual void LineBufferUnLock | ( | ) | [inline, virtual] |
| virtual int LineBufferSize | ( | ) | [inline, virtual] |
{return 0;};
| virtual int LineBufferStride | ( | ) | [inline, virtual] |
{ return 0;};
| virtual void LineBufferDraw | ( | int | numberOfSegments | ) | [inline, virtual] |
| virtual void escape | ( | GFX_ESCAPE_FN | fn, |
| void * | data | ||
| ) | [pure virtual] |
| virtual BOOL getDepthValue | ( | float | x, |
| float | y, | ||
| float * | z | ||
| ) | [inline, virtual] |
| [in] | x | The x coordinate in screen space. |
| [in] | y | The y coordinate in screen space. |
| [out] | z | A pointer to the buffer that receives the calculated depth value. |
{ return FALSE; }
| virtual void clearViewportDepth | ( | ) | [inline, virtual] |
{};
| virtual GFX_MESH::IHWSubMesh* CreateHWDrawMesh | ( | GFX_MESH::HWTupleMesh * | hwMesh | ) | [inline, virtual] |
| [in] | *hwMesh the mesh used to create the Hardware specific buffers. |
{return NULL;};
| virtual void DrawHWDrawMesh | ( | GFX_MESH::HWTupleMesh * | hwMesh | ) | [inline, virtual] |
| [in] | *hwMesh the mesh to be drawn. |
{};