Loading...
Searching...
No Matches
Ogre::Portal Class Reference

Portal datastructure for connecting zones. More...

`#include <OgrePortal.h>`

Inheritance diagram for Ogre::Portal:
[legend]

## 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.

## Additional Inherited Members

Public Types inherited from Ogre::PortalBase
enum | PORTAL_TYPE { PORTAL_TYPE_QUAD , PORTAL_TYPE_AABB , PORTAL_TYPE_SPHERE }
enum | PortalIntersectResult { NO_INTERSECT , INTERSECT_NO_CROSS , INTERSECT_BACK_NO_CROSS , INTERSECT_CROSS }
Public Types inherited from Ogre::ShadowCaster
typedef Ogre::ShadowRenderableList | ShadowRenderableList
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator
Static Public Member Functions inherited from Ogre::MovableObject
static uint32 | getDefaultQueryFlags ()
| Get the default query flags for all future MovableObject instances.
static uint32 | getDefaultVisibilityFlags ()
| Get the default visibility flags for all future MovableObject instances.
static void | setDefaultQueryFlags (uint32 flags)
| Set the default query flags for all future MovableObject instances.
static void | setDefaultVisibilityFlags (uint32 flags)
| Set the default visibility flags for all future MovableObject instances.
Static Public Member Functions inherited from Ogre::ShadowCaster
static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables)
| Common implementation of releasing shadow renderables.
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist)
| Utility method for extruding vertices based on a light.

## Detailed Description

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.

## Constructor & Destructor Documentation

## Portal()

Ogre::Portal::Portal | ( | const String & | name,
|  | const PORTAL_TYPE | type = PORTAL_TYPE_QUAD )

References Ogre::PortalBase::PORTAL_TYPE_QUAD.

Referenced by getMovableType(), getTargetPortal(), and setTargetPortal().

## ~Portal()

virtual Ogre::Portal::~Portal | ( |  | ) |

virtual

## Member Function Documentation

## setTargetZone()

void Ogre::Portal::setTargetZone | ( | PCZone * | zone | ) |

## setTargetPortal()

void Ogre::Portal::setTargetPortal | ( | Portal * | portal | ) |

Set the target portal pointer.

References Portal().

## getTargetZone()

PCZone * Ogre::Portal::getTargetZone | ( |  | ) |

inline

Get the Zone the Portal connects to.

## getTargetPortal()

Portal * Ogre::Portal::getTargetPortal | ( |  | ) |

inline

Get the connected portal (if any).

References Portal().

## getMovableType()

const String & Ogre::Portal::getMovableType | ( |  | ) | const

override virtual

Returns the type name of this object.

Implements Ogre::MovableObject.

References Portal().

The documentation for this class was generated from the following file:

- OgrePortal.h