|
virtual | ~GraphicsWindow () |
|
virtual void | setFlags (DWORD f)=0 |
|
virtual DWORD | getFlags ()=0 |
|
virtual int | getMaxTextures (void)=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 | 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 (RECT *r) |
|
virtual GFX_MESH::IHWSubMesh * | CreateHWDrawMesh (GFX_MESH::HWTupleMesh *hwMesh) |
|
virtual void | DrawHWDrawMesh (GFX_MESH::HWTupleMesh *hwMesh) |
|
|
virtual void | postCreate (int ct, GraphicsWindow **gw)=0 |
|
virtual void | shutdown ()=0 |
|
virtual int | getVersion ()=0 |
|
virtual const MCHAR * | getDriverString (void)=0 |
|
virtual void | config (HWND hWnd)=0 |
|
virtual int | querySupport (int what)=0 |
|
|
virtual HWND | getHWnd (void)=0 |
|
virtual void | getTextExtents (const MCHAR *text, SIZE *sp)=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 | setTransform (const Matrix3 &m)=0 |
|
virtual BOOL | getFlipped (void)=0 |
|
virtual Matrix3 | getTransform (void)=0 |
|
virtual int | isPerspectiveView (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 int | getMaxStripLength () |
|
virtual void | resetUpdateRect ()=0 |
|
virtual void | enlargeUpdateRect (RECT *rp)=0 |
|
virtual int | getUpdateRect (RECT *rp)=0 |
|
virtual void | multiplePass (int pass, BOOL onOff, float scaleFact=1.005f)=0 |
|
virtual void | setSkipCount (int c)=0 |
|
virtual int | getSkipCount (void)=0 |
|
virtual void | setRndLimits (DWORD l)=0 |
|
virtual DWORD | getRndLimits (void)=0 |
|
virtual DWORD | getRndMode (void)=0 |
|
virtual void | setViewportLimits (DWORD l)=0 |
| For internal use only.
|
|
virtual DWORD | getViewportLimits (void)=0 |
| For internal use only.
|
|
|
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 | setTexTransform (const Matrix3 &m, int texStage=0)=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 | setTransparency (DWORD settings)=0 |
|
virtual void | setMaterial (const Material &m, int index=0)=0 |
|
virtual Material * | getMaterial (void)=0 |
|
|
virtual DWORD | hTransPoint (const Point3 *in, IPoint3 *out)=0 |
|
virtual DWORD | hTransPoint (const Point3 &in, Point3 &out)=0 |
|
virtual DWORD | wTransPoint (const Point3 *in, IPoint3 *out)=0 |
|
virtual DWORD | transPoint (const Point3 *in, Point3 *out)=0 |
|
|
The old device coordinate calls have been changed (or removed).
Methods that start with "h" take integer device coordinates with the origin at the lower-left. Calls with a "w" in front take Windows device coordinates with the origin at the upper left. Note that these "h" and "w" routines perform no clipping unless otherwise noted (clipping at this level will be very expensive). Drawing outside the allowable region might cause 3ds Max to crash.
|
virtual void | updateScreen ()=0 |
|
virtual void | clearScreen (RECT *rp, int useBkg=FALSE)=0 |
|
virtual void | setColor (ColorType t, float r, float g, float b)=0 |
|
void | setColor (ColorType t, Point3 clr) |
|
virtual void | lightVertex (const Point3 &pos, const Point3 &nor, Point3 &rgb)=0 |
|
virtual void | hText (IPoint3 *xyz, const 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, const MCHAR *s)=0 |
|
virtual float | GetTextPointSize () const =0 |
|
virtual void | SetTextPointSize (float)=0 |
|
virtual float | GetTextWidthFactor () const =0 |
|
virtual void | SetTextWidthFactor (float)=0 |
|
virtual unsigned | GetTextWeight () const =0 |
|
virtual void | SetTextWeight (unsigned)=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 (const Point3 *xyz, const 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 |
|
|
The following methods are used for hit testing.
Typically, these methods are used in the following sequence:
Set a hit region using setHitRegion() and then clear the hit code using clearHitCode(). Now, render a primitive using the mode GW_PICK and at whatever level you want to check at. For example, if you are interested in vertex hit testing, you can render a series of markers using a rendering mode that includes GW_PICK. The GW_PICK rendering mode will cause the system to perform hit testing rather than actually render the item.
After each item is rendered, you can check to see if a hit was made using checkHitCode(). This method returns TRUE or FALSE based on if a hit was found. If you are looking for just a single hit, you can abort as soon as checkHitCode() returns TRUE. If you are interested in the closest hit, you can loop through all the items calling clearHitCode(), checkHitCode(), and getHitDistance(). After checking all the items, you can simply choose the smallest hit distance from all the items that you have checked.
|
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 float | interpWorld (Point3 *world1, Point3 *world2, float sParam, Point3 *interpPt)=0 |
|
virtual DllExport void | hitTestHMarker (const IPoint3 *xyz, MarkerType type, GfxPickResult &res) const |
|
virtual DllExport void | hitTestMarker (const Point3 *xyz, MarkerType type, GfxPickResult &res) const |
|
virtual DllExport void | hitTestPolyline (int ct, const Point3 *xyz, int closed, int *es, GfxPickResult &res) const |
|
virtual DllExport void | hitTestPolylineN (int ct, const Point3 *xyz, int closed, int *es, GfxPickResult &res) const |
|
virtual DllExport void | hitTestHPolyline (int ct, const IPoint3 *xyz, int closed, int *es, GfxPickResult &res) const |
|
virtual DllExport void | hitTestPolygon (int ct, const Point3 *xyz, GfxPickResult &res) const |
|
virtual DllExport void | hitTestPolygonN (int ct, const Point3 *xyz, GfxPickResult &res) const |
|
virtual DllExport void | hitTestHPolygon (int ct, const IPoint3 *xyz, GfxPickResult &res) const |
|
virtual UtilExport | ~InterfaceServer () |
| Destructor.
|
|
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
|
template<class InterfaceType > |
InterfaceType * | GetTypedInterface () |
|
|
static UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
| Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new (size_t size, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new[] (size_t size) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects.
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void | operator delete (void *ptr) |
| Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete[] (void *ptr) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator.
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator.
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary.
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary.
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
|
|