PortalNode
from panda3d.core import PortalNode
- class PortalNode
Bases:
Bases:
PandaNode
A node in the scene graph that can hold a Portal Polygon, which is a rectangle. Other types of polygons are not supported for now. It also holds a PT(PandaNode) Cell that this portal is connected to
Inheritance diagram
- __init__(name: str)
Default constructor, just an empty node, no geo This is used to read portal from model. You can also use this from python to create an empty portal. Then you can set the vertices yourself, with
add_vertex()
.
- __init__(name: str, pos: LPoint3, scale: float)
Create a default rectangle as portal. Use this to create an arbitrary portal and setup from Python
- add_vertex(vertex: LPoint3)
Adds a new vertex to the portal polygon. The vertices should be defined in a counterclockwise orientation when viewing through the portal.
- clear_vertices()
Resets the vertices of the portal to the empty list.
- property clip_plane bool
- Getter
Is this portal clipping against its left-right planes
- Setter
this is set if the portal will clip against its left and right planes
- property from_portal_mask PortalMask
- Getter
Returns the current “from”
PortalMask
. In order for a portal to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.- Setter
Sets the “from”
PortalMask
. In order for a portal to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.
- static get_class_type() TypeHandle
- get_from_portal_mask() PortalMask
Returns the current “from”
PortalMask
. In order for a portal to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.
- get_into_portal_mask() PortalMask
Returns the current “into”
PortalMask
. In order for a portal to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.
- get_portal_geom() bool
Returns the current state of the portal_geom flag. See
set_portal_geom()
.
- property into_portal_mask PortalMask
- Getter
Returns the current “into”
PortalMask
. In order for a portal to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.- Setter
Sets the “into”
PortalMask
. In order for a portal to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.
- property open bool
- Getter
Is this portal open from current camera zone
- Setter
Python sets this based on curent camera zone
- property portal_geom bool
- Getter
Returns the current state of the portal_geom flag. See
set_portal_geom()
.- Setter
Sets the state of the “portal geom” flag for this
PortalNode
. Normally, this is false; when this is set true, the PortalSolids in this node will test for portals with actual renderable geometry, in addition to whatever PortalSolids may be indicated by the from_portal_mask.Setting this to true causes this to test all
GeomNodes
for portals. It is an all-or-none thing; there is no way to portal with only someGeomNodes
, asGeomNodes
have no into_portal_mask.
- set_from_portal_mask(mask: PortalMask)
Sets the “from”
PortalMask
. In order for a portal to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.
- set_into_portal_mask(mask: PortalMask)
Sets the “into”
PortalMask
. In order for a portal to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.
- set_portal_geom(flag: bool)
Sets the state of the “portal geom” flag for this
PortalNode
. Normally, this is false; when this is set true, the PortalSolids in this node will test for portals with actual renderable geometry, in addition to whatever PortalSolids may be indicated by the from_portal_mask.Setting this to true causes this to test all
GeomNodes
for portals. It is an all-or-none thing; there is no way to portal with only someGeomNodes
, asGeomNodes
have no into_portal_mask.
- set_portal_mask(mask: PortalMask)
Simultaneously sets both the “from” and “into”
PortalMask
values to the same thing.