PixelLightAPI  .
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
PLScene::SNPortal Class Reference

Abstract portal scene node. More...

#include <SNPortal.h>

Inheritance diagram for PLScene::SNPortal:
Inheritance graph
[legend]

List of all members.

Public Types

enum  EDebugFlags { DebugNoPortalPolygon = 1<<8, DebugPortalVertices = 1<<9 }
 Scene node debug flags (SceneNode debug flags extension) More...

Public Member Functions

PLS_API PLMath::PolygonGetPolygon ()
 Returns the portal polygon.
PLS_API void UpdatePolygon ()
 Call this function after you manipulated the portal polygon.
PLS_API const PLMath::PolygonGetContainerPolygon ()
 Returns the portal polygon in container space.
PLS_API const PLMath::Matrix3x4GetWarpMatrix ()
 Returns the warp matrix.
virtual PLS_API void DrawDebug (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) override
 This function is called when the debug parts of the scene are drawn.

Protected Member Functions

PLS_API SNPortal ()
 Default constructor.
virtual PLS_API ~SNPortal ()
 Destructor.

Protected Attributes

PLCore::uint8 m_nInternalPortalFlags

Detailed Description

Abstract portal scene node.

Note:
  • Please note: A portal may or may not let light and shadows pass through it. This depends on the used scene renderer, so, by default proper portal scene node flags are set so light and shadows may always pass as default.

Member Enumeration Documentation

Scene node debug flags (SceneNode debug flags extension)

Enumerator:
DebugNoPortalPolygon 

Do not draw the (pink) portal polygon

DebugPortalVertices 

Draw the (white) portal vertices


Constructor & Destructor Documentation

PLS_API PLScene::SNPortal::SNPortal ( ) [protected]

Default constructor.

virtual PLS_API PLScene::SNPortal::~SNPortal ( ) [protected, virtual]

Destructor.


Member Function Documentation

Returns the portal polygon.

Returns:
The portal polygon
Note:

Call this function after you manipulated the portal polygon.

Returns the portal polygon in container space.

Returns:
The portal polygon in container space
Note:
  • This container space portal polygon is rebuild automatically if required

Returns the warp matrix.

Returns:
The warp matrix
Remarks:
The warp matrix transforms from this cell space into target cell space.
Note:
  • Is updated automatically

Reimplemented in PLScene::SNCellPortal.

virtual PLS_API void PLScene::SNPortal::DrawDebug ( PLRenderer::Renderer cRenderer,
const VisNode pVisNode = nullptr 
) [override, virtual]

This function is called when the debug parts of the scene are drawn.

Parameters:
[in]cRendererThe used renderer
[in]pVisNodeThe current visibility node of this scene node, can be a null pointer
Note:
  • Should only be called if the 'UseDrawDebug' draw flag and the 'DebugEnabled' debug flag is set
  • Beside drawing scene node stuff, the default implementation emits the SignalDrawDebug signal
See also:

Reimplemented from PLScene::SceneNode.


Member Data Documentation

PLCore::uint8 PLScene::SNPortal::m_nInternalPortalFlags [protected]

Internal portal flags


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


PixelLight PixelLight 0.9.10-R1
Copyright (C) 2002-2011 by The PixelLight Team
Last modified Fri Dec 23 2011 15:51:26
The content of this PixelLight document is published under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported