Free Electron
|
A rendering region. More...
#include <ViewI.h>
Public Types | |
enum | Projection { e_none, e_perspective, e_ortho, e_current } |
Public Member Functions | |
virtual void | setWindow (sp< WindowI > a_spWindowI)=0 |
Specify window where to draw. More... | |
virtual sp< WindowI > | window (void) const =0 |
virtual void | setViewport (const Box2i &a_rect)=0 |
Define region where to draw. More... | |
virtual Box2i | viewport (void) const =0 |
virtual sp< CameraI > | camera (void) const =0 |
Get current camera. More... | |
virtual void | setCamera (sp< CameraI > a_spCameraI)=0 |
virtual void | use (Projection a_projection)=0 |
virtual void | setProjection (Projection a_projection)=0 |
Set whether ortho or perspective. More... | |
virtual Projection | projection (void) const =0 |
Get current projection. More... | |
virtual SpatialVector | unproject (Real a_winx, Real a_winy, Real a_winz, Projection a_projection=e_current) const =0 |
Determine 3D location of screen coordinate. More... | |
virtual SpatialVector | project (const SpatialVector &a_point, Projection a_projection=e_current) const =0 |
Project 3D location into screen coordinates. More... | |
virtual Real | pixelSize (const SpatialVector &a_center, Real a_radius) const =0 |
Estimate object's screen size. More... | |
virtual Real | worldSize (const SpatialVector &a_center, Real a_pixels) const =0 |
Estimate object's world size. More... | |
virtual void | screenAlignment (SpatialTransform &a_rotation)=0 |
Return a screen aligned rotation. More... | |
virtual void | screenInfo (Real &a_screenScale, SpatialVector &a_screenLocation, const SpatialTransform &a_rotation, const SpatialVector &a_location)=0 |
Given a screen aligned rotation and world location, return the screen projected location and scale. More... | |
virtual void | setScissor (const Box2i *a_pBox)=0 |
Clip all drawing operations to a 2D box. More... | |
virtual const Box2i * | scissor (void) const =0 |
Get current scissor region. More... | |
Public Member Functions inherited from fe::Component | |
const String & | name (void) const |
Return the components chosen name. More... | |
const String | verboseName (void) const |
Return the annotated chosen name. More... | |
void | setName (const String &name) |
Rename the component to anything you want. More... | |
hp< Registry > | registry (void) const |
Get the Registry that created this component. More... | |
void | adjoin (sp< Component > spComponent) |
Tie this component's lifetime to another. More... | |
sp< Component > | create (const String &implementation, BWORD quiet=FALSE) const |
Convienience function to registry()->create() More... | |
void | disjoin (void) |
Untie component from Hub, if connected. More... | |
String | factoryName (void) |
void | setLibrary (sp< Library > spLibrary) |
Store a reference to the library used to instantiate this component. More... | |
sp< Library > | library (void) |
Get the library that created the component. More... | |
void | setFactoryIndex (I32 a_factoryIndex) |
Set the library's factory index. More... | |
I32 | factoryIndex (void) |
Get the library's factory index. More... | |
void | setSingleton (BWORD set) |
Specify whether component is a singleton. More... | |
BWORD | isSingleton (void) |
Return whether component is a singleton. More... | |
virtual void | acquire (void) |
Specialized reference increment. More... | |
virtual void | release (void) |
Specialized reference decrement. More... | |
Public Member Functions inherited from fe::Handled< Component > | |
const hp< Component > & | getHandle (void) const |
Get a safe handle to this object. More... | |
Public Member Functions inherited from fe::Protectable | |
virtual I32 | protection (void) const |
virtual void | protect (void) |
virtual void | unprotect (void) |
virtual Protectable * | clone (Protectable *pInstance=NULL) |
Public Member Functions inherited from fe::Counted | |
virtual void | acquire (int &rCount) |
Increment the reference count (and get the count) More... | |
virtual void | abandon (void) |
Decrement the reference count. More... | |
int | count (void) const |
Return the count of references. More... | |
void | setName (const String &) |
void | trackReference (void *pReference, String what) |
void | untrackReference (void *pReference) |
void | registerRegion (void *pT, U32 bytes) |
Public Member Functions inherited from fe::Initialized | |
void | initializeAll (void) |
void | setActive (bool a_active) |
Additional Inherited Members | |
Static Public Member Functions inherited from fe::Counted | |
static String | reportTracker (void) |
static U32 | trackerCount (void) |
Protected Types inherited from fe::Initialized | |
typedef void(* | InitializeFunction) (Initialized *) |
Protected Member Functions inherited from fe::Handled< Component > | |
void | abandonHandle (void) |
Protected Member Functions inherited from fe::Counted | |
int | releaseInternal (void) |
Decrement the reference count. More... | |
void | suppressReport (void) |
Protected Member Functions inherited from fe::Initialized | |
void | addInitializer (InitializeFunction function) |
Related Functions inherited from fe::Component | |
FE_DL_EXPORT void FE_CDECL | checkUnload (sp< Library > &pLibrary, Component *pComponent=NULL) |
Delete the component and unload libraries where appropriate. More... | |
A rendering region.
Get current camera.
This is the most recent camera set with setCamera().
Implemented in fe::ext::ViewCommon.
Referenced by fe::ext::ViewOpenGL::pixelSize(), and fe::ext::ViewOpenGL::worldSize().
|
pure virtual |
Estimate object's screen size.
The input is a sphere center and radius.
Implemented in fe::ext::ViewCommon, and fe::ext::ViewOpenGL.
|
pure virtual |
Project 3D location into screen coordinates.
By default, the current Projection determines the projection method.
Window coordinates orginate from bottom left.
Implemented in fe::ext::ViewCommon, and fe::ext::ViewOpenGL.
|
pure virtual |
Get current projection.
Implemented in fe::ext::ViewCommon.
|
pure virtual |
Get current scissor region.
NULL indicates no scissoring.
Implemented in fe::ext::ViewCommon, and fe::ext::ViewOpenGL.
|
pure virtual |
Return a screen aligned rotation.
Implemented in fe::ext::ViewCommon.
|
pure virtual |
Given a screen aligned rotation and world location, return the screen projected location and scale.
Useful for normalizing object scale to the screen.
Implemented in fe::ext::ViewCommon.
|
pure virtual |
Set whether ortho or perspective.
Implemented in fe::ext::ViewCommon.
|
pure virtual |
Clip all drawing operations to a 2D box.
Use NULL pointer to stop scissoring.
Implemented in fe::ext::ViewCommon, and fe::ext::ViewOpenGL.
|
pure virtual |
Define region where to draw.
Implemented in fe::ext::ViewCommon.
Specify window where to draw.
Implemented in fe::ext::ViewCommon.
|
pure virtual |
Determine 3D location of screen coordinate.
By default, the current Projection determines the projection method.
Window coordinates orginate from bottom left.
Implemented in fe::ext::ViewCommon, and fe::ext::ViewOpenGL.
|
pure virtual |
Estimate object's world size.
The input is a sphere center and projected pixel radius.
Implemented in fe::ext::ViewCommon, and fe::ext::ViewOpenGL.