2 #include "BaseObject.h" 22 virtual CBaseObject::_SceneObjectType GetType(){
return CBaseObject::ZoneNode;};
24 virtual string ToString(DWORD nMethod);
49 ATTRIBUTE_METHOD1(
CZoneNode, GetZonePlanes_s,
const char**) {*p1 = cls->GetZonePlanes();
return S_OK;}
50 ATTRIBUTE_METHOD1(
CZoneNode, SetZonePlanes_s,
const char*) {cls->SetZonePlanes(p1);
return S_OK;}
52 ATTRIBUTE_METHOD(
CZoneNode, AutoGenZonePlanes_s) {cls->AutoGenZonePlanes();
return S_OK;}
53 ATTRIBUTE_METHOD(
CZoneNode, AutoFillZone_s) {cls->AutoFillZone();
return S_OK;}
109 vector<Plane> m_planes;
void AutoFillZone()
automatically fill the zone with static mesh objects that are within the zone's convex space...
Definition: ZoneNode.cpp:224
virtual const char * GetAttributeClassDescription()
a static string, describing the attribute class object
Definition: ZoneNode.h:45
virtual string ToString(DWORD nMethod)
convert the object to an NPL string by which this object may be created or deleted.
Definition: ZoneNode.cpp:30
3-dimensional vector with double precision.
Definition: ParaDVector3.h:17
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
It's used as parameter to Draw method of each scene object.
Definition: SceneState.h:284
virtual bool TestCollision(CBaseCamera *pCamera)
check if the object's original shape can be seen via a camera.
Definition: ZoneNode.cpp:305
Definition: combase.h:159
void AutoGenZonePlanes()
automatically generate 6 zone planes according to the bounding box of the zone node.
Definition: ZoneNode.cpp:192
const char * GetZonePlanes()
set or get zone planes as a string
Definition: ZoneNode.cpp:270
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual void SetPosition(const DVector3 &v)
always bottom center of the bounding shape
Definition: ZoneNode.cpp:187
virtual DVector3 GetPosition()
always bottom center of the bounding shape
Definition: ZoneNode.cpp:182
virtual bool TestCollisionSphere(CBaseCamera *pCamera, float fFarPlaneDistance)
assume that the object is a sphere, it will return false if the sphere is completely out of the 6 fru...
Definition: ZoneNode.cpp:286
virtual int GetAttributeClassID()
attribute class ID should be identical, unless one knows how overriding rules work.
Definition: ZoneNode.h:41
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
Definition: BaseCamera.h:70
bool Contains(CBaseObject *pNode, bool bStrict)
check whether the zone contains a given object.
Definition: ZoneNode.cpp:88
void SetZonePlanes(const char *sPlanes)
set or get zone planes as a string
Definition: ZoneNode.cpp:229
a zone in portal rendering.
Definition: ZoneNode.h:17
vector< Plane > & GetPlanes()
return planes of the zone.
Definition: ZoneNode.h:103
virtual HRESULT Draw(SceneState *sceneState)
it only draws an arrow, when the scene's show local light parameter is true.
Definition: ZoneNode.cpp:129
Portal rendering: portal class a portal can be connected to one or two zones.
Definition: PortalNode.h:15
Defines the base class of all scene elements:CBaseObject for Parallel World Engine.
Definition: BaseObject.h:230
void addNode(CBaseObject *pNode)
Adds an Scene Node to this Zone.
Definition: ZoneNode.cpp:55
virtual int InstallFields(CAttributeClass *pClass, bool bOverride)
this class should be implemented if one wants to add new attribute.
Definition: ZoneNode.cpp:347
virtual const char * GetAttributeClassName()
a static string, describing the attribute class object's name
Definition: ZoneNode.h:43
void removeNode(CBaseObject *pNode)
Removes all references to a SceneNode from this Zone.
Definition: ZoneNode.cpp:63