#include <DrawObj.H>
Inherits PropertyChangedNotifier.
Inherited by InSpace::AnimTexPlane, InSpace::DrawPoint, InSpace::GLLine3D, InSpace::GLPtCloud, InSpace::ISMeshObj, InSpace::StatusBar, InSpace::TexPalette, InSpace::TexPlane, and InSpace::WorldRotAxisDrawObj.
Public Member Functions | |
DrawObj (str_ptr name, int roomObj=0, int display=1) | |
virtual | ~DrawObj () |
virtual void | draw () |
virtual void | drawG3D () |
virtual void | contextInit () |
str_ptr | name () |
void | setName (str_ptr n) |
virtual void | drawWrapper (bool useG3D) |
virtual void | contextInitWrapper () |
virtual void | setDLMode (DL_MODE mode) |
virtual void | highlight () |
virtual void | unhighlight () |
virtual void | reColor (const Color c) |
virtual void | reColor (ColorMap *cm) |
virtual void | reTexture (str_ptr texname) |
virtual int | drawInPass (int pass) |
virtual Wtransf | xform () const |
virtual Wtransf | trans () const |
virtual Wtransf | rot () const |
virtual Wtransf | scale () const |
virtual void | scaleBy (const double s) |
virtual void | scaleBy (const Wvec sv) |
virtual void | transBy (const Wvec v) |
virtual void | rotBy (const Wtransf m) |
virtual void | setXform (cWtransf &m, bool propagate=true) |
virtual void | setTrans (cWtransf &m) |
virtual void | setRot (cWtransf &m) |
virtual void | setScale (cWtransf &m) |
virtual BBox * | bbox () |
virtual int | display () const |
virtual int | displayBBox () const |
virtual int | selectable () const |
virtual int | movable () const |
virtual int | transparent () const |
virtual int | isRoomObj () const |
virtual void | show () |
virtual void | hide () |
virtual void | showBBox () |
virtual void | hideBBox () |
virtual void | setRoomObj (const int i) |
virtual void | setSelectable (const int s) |
virtual void | setMovable (const int m) |
virtual void | setTransparent (const int t) |
virtual void | writeVRML (ostream *os) |
virtual void | writeCPS (ostream *os) |
virtual bool | isLightOn (const int i) const |
virtual void | turnOnLight (const int l) |
virtual void | turnOffLight (const int l) |
virtual int | pointSelectCoarse (Wpt pw) |
virtual int | pointSelectCoarse (ROOMpt pr) |
virtual int | pointSelectFine (Wpt pw) |
virtual int | pointSelectFine (ROOMpt pr) |
virtual int | raySelectCoarse (Wpt p, Wvec dir, Wpt &isect_point) |
virtual int | raySelectFine (Wpt p, Wvec dir, Wpt &isect_point) |
Protected Attributes | |
Wtransf | _trans |
Wtransf | _rot |
Wtransf | _scale |
BBox | _bbox |
str_ptr | _name |
int | _roomObj |
int | _display |
int | _dispBBox |
int | _selectable |
int | _movable |
int | _transparent |
DL_MODE | _pendingDLMode |
isGlContextData< DL_MODE > | _dlMode |
isGlContextData< GLuint > | _dl |
bool | _useLights [8] |
|
|
|
|
|
|
|
Implement this to do any GL specific initialization that you need to within your object. Called once per GL context. Reimplemented in InSpace::WorldRotAxisDrawObj. |
|
|
|
|
|
|
|
This is the most important function to implement in your subclass. Use GL calls inside this to draw something. This object's xform() has already been pushed onto the MODELVIEW stack when this gets called. If using inspace with G3D, use drawG3D() as a replacement for this function. Reimplemented in InSpace::AnimTexPlane, InSpace::DrawPoint, InSpace::GLLine3D, InSpace::GLPtCloud, InSpace::ISMeshObj, InSpace::StatusBar, InSpace::TexPalette, InSpace::TexPlane, and InSpace::WorldRotAxisDrawObj. |
|
This is a replacement for the draw() function when you are using inspace with the G3D library. Ideally, your subclass overrides this function and uses G3D renderdevice calls to do drawing, but if you want to draw in straight GL, you can wrap a normal draw routine inside a push/pop all attrib bits. this is the default action to facilitate compatability with older straight GL code. So, if you don't override this and you are using G3D, your old draw() routines will get called as usual. |
|
|
|
handle calling draw appropriately given that we sometimes want to call a display list.. |
|
Reimplemented in InSpace::TexPalette. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in InSpace::ISMeshObj. |
|
Reimplemented in InSpace::ISMeshObj. |
|
|
|
|
|
|
|
Reimplemented in InSpace::DrawPoint, InSpace::ISMeshObj, and InSpace::TexPlane. |
|
Reimplemented in InSpace::ISMeshObj. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in InSpace::TexPalette. |
|
Reimplemented in InSpace::TexPalette. |
|
|
|
Reimplemented in InSpace::TexPalette. |
|
|
|
|
|
Reimplemented in InSpace::TexPalette. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in InSpace::TexPlane. |
|
Reimplemented in InSpace::ISMeshObj. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in InSpace::StatusBar. |
|
|
|
|
|
|
|
|