Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Types | Public Member Functions | Public Attributes | Protected Types | List of all members
PQ Class Reference
Inheritance diagram for PQ:

Public Types

enum  EdgeState : int {
  EdgeState.Reset = -1, EdgeState.NoLerps = 0, EdgeState.NorthLerp = 1, EdgeState.SouthLerp = 2,
  EdgeState.EastLerp = 4, EdgeState.WestLerp = 8
}
 
enum  QuadChild : int {
  QuadChild.SouthWest = 0, QuadChild.SouthEast = 1, QuadChild.NorthWest = 2, QuadChild.NorthEast = 3,
  QuadChild.Null = -1
}
 

Public Member Functions

void Build ()
 
void ClearAndDestroy ()
 
void ClearCache ()
 
bool Collapse ()
 
void Destroy ()
 
PQS.QuadEdge GetEdge (PQ caller)
 
void GetEdgeQuads (PQ caller, out PQ left, out PQ right)
 
PQS.EdgeState GetEdgeState ()
 
PQ GetRightmostCornerPQ (PQ nextQuad)
 Gets the PQS to the right of the side facing the next quad from the quad diagonally. More...
 
PQ GetSidePQ (PQS.QuadEdge edge)
 Gets the PQ to the side corresponding to the quad edge. More...
 
delegate void QuadDelegate (PQ quad)
 
void QueueForCornerNormalUpdate ()
 Update only the corner normals, not the normals all along the edges of the quad. More...
 
void QueueForNormalUpdate ()
 Update the normals all along the edges of the quad. More...
 
void SetCache ()
 
void SetEdgeState ()
 
void SetInvisible ()
 
void SetMasterInvisible ()
 
void SetMasterVisible ()
 
void SetNeighbour (PQ oldNeighbour, PQ newNeighbour)
 
void SetupQuad (PQ parentQuad, QuadChild parentChildPosition)
 
void SetVisible ()
 
bool Subdivide ()
 
void UnqueueForNormalUpdate ()
 
void UpdateSubdivision ()
 
void UpdateSubdivisionInit ()
 
void UpdateTargetRelativity ()
 

Public Attributes

PQ CreateParent
 
PQ east
 
Vector3[][] edgeNormals
 
PQS.EdgeState edgeState
 
double gcd1
 
double gcd2
 
double gcDist
 
int id
 
bool isActive
 Is this Quad Active More...
 
bool isBuilt
 Has this Quad been built? More...
 
bool isCached
 This quad has been cached More...
 
bool isForcedInvisible
 Is this Quad been forced invisible. (Forced by PQSMod_RemoveQuadMap) More...
 
bool isPendingCollapse
 This quad is pending a collapse (will be done next update - as PQS ran out of time in last update). More...
 
bool isQueuedForNormalUpdate
 This quad has been queued for an update of the normals along its edges. More...
 
bool isQueuedOnlyForCornerNormalUpdate
 This quad has been queued for an update of just its corner normals. More...
 
bool isSubdivided
 Has this Quad been Subdivided More...
 
bool isVisible
 Is this Quad visible to the camera More...
 
Mesh mesh
 
MeshCollider meshCollider
 
MeshFilter meshFilter
 
MeshRenderer meshRenderer
 
double meshVertMax
 
double meshVertMin
 
PQ north
 
QuadDelegate onDestroy
 
QuadDelegate onInvisible
 
QuadDelegate onUpdate
 
QuadDelegate onVisible
 
PQ parent
 
PQS.QuadPlane plane
 
QuaternionD planeRotation
 
Vector3d positionParentRelative
 
Vector3d positionPlanePosition
 
Vector3d positionPlanet
 
Vector3d positionPlanetRelative
 
double quadArea
 
int quadIndex
 
Matrix4x4 quadMatrix
 
PQ quadRoot
 
QuaternionD quadRotation
 
Vector3d quadScale
 
double quadScaleFactor
 
Transform quadTransform
 
double scalePlaneRelative
 
double scalePlanetRelative
 
PQ south
 
PQS sphereRoot
 
double subdivideThresholdFactor
 
int subdivision
 
PQ[] subNodes
 
Vector2 uvDelta
 
Vector2 uvSW
 
Vector3[] vertNormals
 
Vector3[] verts
 
PQ west
 [HideInInspector] More...
 

Protected Types

enum  QuadEdge : int {
  QuadEdge.North = 0, QuadEdge.South = 1, QuadEdge.East = 2, QuadEdge.West = 3,
  QuadEdge.Null = -1
}
 

Member Enumeration Documentation

enum PQ.EdgeState : int
Enumerator
Reset 
NoLerps 
NorthLerp 
SouthLerp 
EastLerp 
WestLerp 
enum PQ.QuadChild : int
Enumerator
SouthWest 
SouthEast 
NorthWest 
NorthEast 
Null 
enum PQ.QuadEdge : int
protected
Enumerator
North 
South 
East 
West 
Null 

Member Function Documentation

void PQ.Build ( )
inline
void PQ.ClearAndDestroy ( )
inline
void PQ.ClearCache ( )
inline
bool PQ.Collapse ( )
inline
void PQ.Destroy ( )
inline
PQS.QuadEdge PQ.GetEdge ( PQ  caller)
inline
void PQ.GetEdgeQuads ( PQ  caller,
out PQ  left,
out PQ  right 
)
inline
PQS.EdgeState PQ.GetEdgeState ( )
inline
PQ PQ.GetRightmostCornerPQ ( PQ  nextQuad)
inline

Gets the PQS to the right of the side facing the next quad from the quad diagonally.

Parameters
nextQuadPQ to help us decide the sampling direction.
Returns
The PQ diagonally next to the calling quad.
PQ PQ.GetSidePQ ( PQS.QuadEdge  edge)
inline

Gets the PQ to the side corresponding to the quad edge.

Parameters
edgeEdge to find the PQ on.
Returns
The PQ to the side corresponding to the quad edge.
delegate void PQ.QuadDelegate ( PQ  quad)
void PQ.QueueForCornerNormalUpdate ( )
inline

Update only the corner normals, not the normals all along the edges of the quad.

void PQ.QueueForNormalUpdate ( )
inline

Update the normals all along the edges of the quad.

void PQ.SetCache ( )
inline
void PQ.SetEdgeState ( )
inline
void PQ.SetInvisible ( )
inline
void PQ.SetMasterInvisible ( )
inline
void PQ.SetMasterVisible ( )
inline
void PQ.SetNeighbour ( PQ  oldNeighbour,
PQ  newNeighbour 
)
inline
void PQ.SetupQuad ( PQ  parentQuad,
QuadChild  parentChildPosition 
)
inline
void PQ.SetVisible ( )
inline
bool PQ.Subdivide ( )
inline

< create 4 children

void PQ.UnqueueForNormalUpdate ( )
inline
void PQ.UpdateSubdivision ( )
inline
void PQ.UpdateSubdivisionInit ( )
inline
void PQ.UpdateTargetRelativity ( )
inline

Member Data Documentation

PQ PQ.CreateParent
PQ PQ.east
Vector3 [][] PQ.edgeNormals
PQS.EdgeState PQ.edgeState
double PQ.gcd1
double PQ.gcd2
double PQ.gcDist
int PQ.id
bool PQ.isActive

Is this Quad Active

bool PQ.isBuilt

Has this Quad been built?

bool PQ.isCached

This quad has been cached

bool PQ.isForcedInvisible

Is this Quad been forced invisible. (Forced by PQSMod_RemoveQuadMap)

bool PQ.isPendingCollapse

This quad is pending a collapse (will be done next update - as PQS ran out of time in last update).

bool PQ.isQueuedForNormalUpdate

This quad has been queued for an update of the normals along its edges.

bool PQ.isQueuedOnlyForCornerNormalUpdate

This quad has been queued for an update of just its corner normals.

bool PQ.isSubdivided

Has this Quad been Subdivided

bool PQ.isVisible

Is this Quad visible to the camera

Mesh PQ.mesh
MeshCollider PQ.meshCollider
MeshFilter PQ.meshFilter
MeshRenderer PQ.meshRenderer
double PQ.meshVertMax
double PQ.meshVertMin
PQ PQ.north
QuadDelegate PQ.onDestroy
QuadDelegate PQ.onInvisible
QuadDelegate PQ.onUpdate
QuadDelegate PQ.onVisible
PQ PQ.parent
PQS.QuadPlane PQ.plane
QuaternionD PQ.planeRotation
Vector3d PQ.positionParentRelative
Vector3d PQ.positionPlanePosition
Vector3d PQ.positionPlanet
Vector3d PQ.positionPlanetRelative
double PQ.quadArea
int PQ.quadIndex
Matrix4x4 PQ.quadMatrix
PQ PQ.quadRoot
QuaternionD PQ.quadRotation
Vector3d PQ.quadScale
double PQ.quadScaleFactor
Transform PQ.quadTransform
double PQ.scalePlaneRelative
double PQ.scalePlanetRelative
PQ PQ.south
PQS PQ.sphereRoot
double PQ.subdivideThresholdFactor
int PQ.subdivision
PQ [] PQ.subNodes
Vector2 PQ.uvDelta
Vector2 PQ.uvSW
Vector3 [] PQ.vertNormals
Vector3 [] PQ.verts
PQ PQ.west

[HideInInspector]


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