#include <sglUnScaleRange.hpp>
Inheritance diagram for sglUnScaleRange::
Public Methods  
sglUnScaleRange ()  
virtual  ~sglUnScaleRange () 
void  setScaleParameters (float reference_size, unsigned int min_pixel_size, unsigned int max_pixel_size) 
unsigned int  getMinPixelSize () const 
unsigned int  getMaxPixelSize () const 
float  getReferenceSize () const 
void  setInverseMode (bool on) 
bool  getInverseMode () const 
virtual sglBound::IntersectResultEnum  intersect (sglIntersectf &isector) const 
virtual sglBound::IntersectResultEnum  intersect (sglIntersectd &isector) const 
virtual void  pick (sglPickf &pick_state, unsigned int cull_flags) const 
virtual void  pick (sglPickd &pick_state, unsigned int cull_flags) const 
virtual sglNode*  clone (unsigned int mode) const 
virtual void  printInfo (ostream &ostrm, const char *indent_string) const 
Protected Methods  
virtual void  cull (sglCull< float > &trav_state, unsigned int cull_flags) const 
virtual void  cull (sglCull< double > &trav_state, unsigned int cull_flags) const 
void  copyTo (sglUnScaleRange *dst, unsigned int mode) const 
Setting the minimum pixel size to 0 disables this limit so that objects can shrink without limit as they get farther away. Likewise, specifying the maximum pixel size to 0 allows that objects to grow larger without limit as they approach the view point. Setting both to negative values results in an sglGroup node behaviour.
Note: Due to the way culling is performed (with precomputed bounding volumes), this node may exhibit nonintuitive culling behavior. The dynamically generate boundingvolume for this node will reflect the size of its children in worldspace, not the transformed screen space. Thus, by default, the bounding volume is likely to be much smaller than the drawn object. It is recommended that you set a static bound of appropriate size for this node (and its children).
Example:
sglGeode geode = new sglGeode; sglUnScaleRange *unscale = new sglUnScaleRange; // scale the children so that an object with dimension 4 will not shrink // less than 10 pixels on that dimension or grow larger than 40 pixels. unscale>setScaleParameters(4.f, 10, 40); unscale>addChild(geode);
Definition at line 73 of file sglUnScaleRange.hpp.

Default constructor.


virtual destructor.


Set the scaling parameters.


Query the minimum pixel size. It will return zero if this limit has been disabled.
Definition at line 100 of file sglUnScaleRange.hpp. 

Query the maximum pixel size. It will return zero if this limit has been disabled.
Definition at line 106 of file sglUnScaleRange.hpp. 

Query the reference size.
Definition at line 111 of file sglUnScaleRange.hpp. 

Set whether or not to apply the inverse of the scale computed. This is useful for sequential nodes of this type if you want to undo the previous one. The default is disabled.
Definition at line 118 of file sglUnScaleRange.hpp. 

Query whether or not the inverse of the scale computed is applied.
Definition at line 123 of file sglUnScaleRange.hpp. 

The single precision intersection traversal function which returns the closest object (bounding volume and/or triangle) that intersects with the given intersect segment.
Reimplemented from sglGroup. 

The double precision intersection traversal function which returns the closest object (bounding volume and/or triangle) that intersects with the given intersect segment.
Reimplemented from sglGroup. 

The single precision pick traversal function which returns all objects that fall within the pick frustum.
Reimplemented from sglGroup. 

The double precision pick traversal function which returns all objects that fall within the pick frustum.
Reimplemented from sglGroup. 

Make a copy of the scenegraph rooted at this node.
Reimplemented from sglGroup. 

Output the state of this node to the specified ostream.
Reimplemented from sglGroup. 

The single precision cull traversal function that culls out subgraphs that do not lie in the view frustum (stored in the sglCull parameter). Subclasses must implement this function. The entry point for userfriendly culling is in the sglScene class.
Reimplemented from sglGroup. 

The double precision cull traversal function that culls out subgraphs that do not lie in the view frustum (stored in the sglCull parameter). Subclasses must implement this function. The entry point for userfriendly culling is in the sglScene class.
Reimplemented from sglGroup. 