OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Portal datastructure for connecting zones. More...
#include <OgrePortal.h>
Public Member Functions | |
Portal (const String &name, const PORTAL_TYPE type=PORTAL_TYPE_QUAD) | |
virtual | ~Portal () |
const String & | getMovableType () const override |
Returns the type name of this object. | |
Portal * | getTargetPortal () |
Get the connected portal (if any) | |
PCZone * | getTargetZone () |
Get the Zone the Portal connects to. | |
void | setTargetPortal (Portal *portal) |
Set the target portal pointer. | |
void | setTargetZone (PCZone *zone) |
Public Member Functions inherited from Ogre::PortalBase | |
PortalBase (const String &name, const PORTAL_TYPE type=PORTAL_TYPE_QUAD) | |
Constructor. | |
virtual | ~PortalBase () |
Destructor. | |
void | _notifyAttached (Node *parent, bool isTagPoint=false) override |
Called when attached to a scene node. | |
void | _notifyMoved () override |
Called when scene node moved. | |
void | _updateRenderQueue (RenderQueue *queue) override |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
void | adjustNodeToMatch (SceneNode *node) |
Adjust the portal so that it is centered and oriented on the given node. | |
void | calcDirectionAndRadius () const |
Calculate the local direction and radius of the portal. | |
bool | closeTo (const PortalBase *otherPortal) |
Check if portal touches another portal. | |
bool | crossedPortal (const PortalBase *otherPortal) |
Check if portal crossed over portal. | |
const AxisAlignedBox & | getAAB () |
Returns an updated AAB of the portal for intersection test. | |
const AxisAlignedBox & | getBoundingBox () const override |
Retrieves the local axis-aligned bounding box for this object. | |
Real | getBoundingRadius () const override |
Retrieves the radius of the origin-centered bounding sphere for this object. | |
const Capsule & | getCapsule () const |
Returns an updated capsule of the portal for intersection test. | |
const Vector3 & | getCorner (int index) const |
Get the coordinates of one of the portal corners in local space. | |
PCZone * | getCurrentHomeZone () |
Get the Zone the Portal is currently "in". | |
const Vector3 & | getDerivedCorner (int index) const |
Get the derived (world) coordinates of one of the portal corners. | |
const Vector3 & | getDerivedCP () const |
Get the position (centerpoint) of the portal in world coordinates. | |
const Vector3 & | getDerivedDirection () const |
Get the direction of the portal in world coordinates. | |
const Plane & | getDerivedPlane () const |
Get the portal plane in world coordinates. | |
Real | getDerivedRadius () const |
Retrieve the radius of the portal in world coordinates. | |
const Sphere & | getDerivedSphere () const |
Get the sphere centered on the derived CP of the portal in world coordinates. | |
const Vector3 & | getDirection () const |
Get the direction vector of the portal in local space. | |
bool | getEnabled () const |
Check if portal is enabled. | |
PCZone * | getNewHomeZone () |
Get the Zone the Portal should be moved to. | |
const Vector3 & | getPrevDerivedCP () const |
Get the previous position (centerpoint) of the portal in world coordinates. | |
const Plane & | getPrevDerivedPlane () const |
Get the previous portal plane in world coordinates. | |
PORTAL_TYPE | getType () const |
Get the type of portal. | |
const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const override |
Retrieves the axis-aligned bounding box for this object in world coordinates. | |
const Sphere & | getWorldBoundingSphere (bool derive=false) const override |
Retrieves the worldspace bounding sphere for this object. | |
bool | intersects (const AxisAlignedBox &aab) |
Check if portal intersects an aab. | |
bool | intersects (const PlaneBoundedVolume &pbv) |
Check if portal intersects a plane bounded volume. | |
bool | intersects (const Ray &ray) |
Check if portal intersects a ray. | |
bool | intersects (const Sphere &sphere) |
Check if portal intersects an sphere. | |
PortalIntersectResult | intersects (PCZSceneNode *sn) |
Check for intersection between portal & scenenode (also determines if scenenode crosses over portal. | |
bool | needUpdate () |
Returns true if portal needs update. | |
void | setCorner (int index, const Vector3 &point) |
Set the local coordinates of one of the portal corners. | |
void | setCorners (const Vector3 *corners) |
Set the local coordinates of all of the portal corners. | |
void | setCurrentHomeZone (PCZone *zone) |
Set the current home zone of the portal. | |
void | setDirection (const Vector3 &d) |
Set the "inward/outward norm" direction of AAB or SPHERE portals NOTE: UNIT_Z = "outward" norm, NEGATIVE_UNIT_Z = "inward" norm NOTE: Remember, Portal norms always point towards the zone they are "in". | |
void | setEnabled (bool value) |
enable the portal | |
void | setNewHomeZone (PCZone *zone) |
Set the zone this portal should be moved to. | |
void | setNode (SceneNode *sn) |
Set the SceneNode the Portal is associated with. | |
void | updateDerivedValues () const |
Update the derived values. | |
void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) override |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any. | |
Public Member Functions inherited from Ogre::MovableObject | |
MovableObject () | |
Constructor. | |
MovableObject (const String &name) | |
Named constructor. | |
virtual | ~MovableObject () |
Virtual destructor - read Scott Meyers if you don't know why this is needed. | |
MovableObjectFactory * | _getCreator (void) const |
Get the creator of this object, if any (internal use only) | |
LightList * | _getLightList () |
Returns a pointer to the current list of lights for this object. | |
SceneManager * | _getManager (void) const |
Get the manager of this object, if any (internal use only) | |
virtual const Affine3 & | _getParentNodeFullTransform (void) const |
Return the full transformation of the parent sceneNode or the attachingPoint node. | |
virtual void | _notifyCreator (MovableObjectFactory *fact) |
Notify the object of it's creator (internal use only) | |
virtual void | _notifyCurrentCamera (Camera *cam) |
Internal method to notify the object of the camera to be used for the next rendering operation. | |
virtual void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only) | |
virtual void | _releaseManualHardwareResources () |
Notifies the movable object that hardware resources were lost. | |
virtual void | _restoreManualHardwareResources () |
Notifies the movable object that hardware resources should be restored. | |
void | addQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
void | detachFromParent (void) |
Detaches an object from a parent SceneNode or TagPoint, if attached. | |
Real | getBoundingRadiusScaled () const |
as getBoundingRadius, but with scaling applied | |
bool | getCastShadows (void) const override |
Returns whether shadow casting is enabled for this object. | |
uint32 | getLightMask () const |
Get a bitwise mask which will filter the lights affecting this object. | |
Listener * | getListener (void) const |
Gets the current listener for this object. | |
const String & | getName (void) const |
Returns the name of this object. | |
Node * | getParentNode (void) const |
Returns the node to which this object is attached. | |
SceneNode * | getParentSceneNode (void) const |
Returns the scene node to which this object is attached. | |
Real | getPointExtrusionDistance (const Light *l) const override |
Get the distance to extrude for a point/spot light. | |
virtual uint32 | getQueryFlags (void) const |
Returns the query flags relevant for this object. | |
bool | getReceivesShadows () |
Returns whether the Material of any Renderable that this MovableObject will add to the render queue will receive shadows. | |
Real | getRenderingDistance (void) const |
Gets the distance at which batches are no longer rendered. | |
Real | getRenderingMinPixelSize () const |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. | |
uint8 | getRenderQueueGroup (void) const |
Gets the queue group for this entity. | |
virtual uint32 | getTypeFlags (void) const |
Get the 'type flags' for this MovableObject. | |
const Any & | getUserAny (void) const |
UserObjectBindings & | getUserObjectBindings () |
Class that provides convenient interface to establish a linkage between custom user application objects and Ogre core classes. | |
const UserObjectBindings & | getUserObjectBindings () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
virtual uint32 | getVisibilityFlags (void) const |
Returns the visibility flags relevant for this object. | |
bool | getVisible (void) const |
Gets this object whether to be visible or not, if it has a renderable component. | |
bool | isAttached (void) const |
Returns true if this object is attached to a SceneNode or TagPoint. | |
bool | isDebugDisplayEnabled (void) const |
Gets whether debug display of this object is enabled. | |
virtual bool | isInScene (void) const |
Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph. | |
bool | isParentTagPoint () const |
Gets whether the parent node is a TagPoint (or a SceneNode) | |
virtual bool | isVisible (void) const |
Returns whether or not this object is supposed to be visible or not. | |
const LightList & | queryLights (void) const |
Gets a list of lights, ordered relative to how close they are to this movable object. | |
void | removeQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
void | setCastShadows (bool enabled) |
Sets whether or not this object will cast shadows. | |
void | setDebugDisplayEnabled (bool enabled) |
Sets whether or not the debug display of this object is enabled. | |
void | setLightMask (uint32 lightMask) |
Set a bitwise mask which will filter the lights affecting this object. | |
void | setListener (Listener *listener) |
Sets a listener for this object. | |
void | setQueryFlags (uint32 flags) |
Sets the query flags for this object. | |
void | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. | |
void | setRenderingMinPixelSize (Real pixelSize) |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. | |
virtual void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. | |
virtual void | setRenderQueueGroupAndPriority (uint8 queueID, ushort priority) |
Sets the render queue group and group priority this entity will be rendered through. | |
void | setUserAny (const Any &anything) |
void | setVisibilityFlags (uint32 flags) |
Sets the visibility flags for this object. | |
void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. | |
Public Member Functions inherited from Ogre::ShadowCaster | |
virtual | ~ShadowCaster () |
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const |
Gets the world space bounding box of the dark cap, as extruded using the light provided. | |
virtual EdgeData * | getEdgeList (void) |
Returns details of the edges which might be used to determine a silhouette. | |
const AxisAlignedBox & | getLightCapBounds (void) const |
Gets the world space bounding box of the light cap. | |
virtual const ShadowRenderableList & | getShadowVolumeRenderableList (const Light *light, const HardwareIndexBufferPtr &indexBuffer, size_t &indexBufferUsedSize, float extrusionDistance, int flags=0) |
Gets an list of the renderables required to render the shadow volume. | |
bool | hasEdgeList () |
Returns whether the object has a valid edge list. | |
Public Member Functions inherited from Ogre::AnimableObject | |
AnimableObject () | |
virtual | ~AnimableObject () |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. | |
virtual const StringVector & | getAnimableValueNames (void) const |
Gets a list of animable value names for this object. | |
Portal datastructure for connecting zones.
Portals are special constructs which which are used to connect two Zones in a PCZScene. Portals are defined by 4 coplanr corners and a direction. Portals are contained within Zones and are essentially "one way" connectors. Objects and entities can use them to travel to other Zones, but to return, there must be a corresponding Portal which connects back to the original zone from the new zone.
Ogre::Portal::Portal | ( | const String & | name, |
const PORTAL_TYPE | type = PORTAL_TYPE_QUAD |
||
) |
|
virtual |
|
inline |
Get the connected portal (if any)
Returns the type name of this object.
Implements Ogre::MovableObject.