// Token: 0x0600198D RID: 6541 RVA: 0x000E7910 File Offset: 0x000E5B10 private static uint nnCalcClipBoxNode(AppMain.NNS_NODE node, NNS_MATRIX mtx) { float boundingBoxX = node.BoundingBoxX; float boundingBoxY = node.BoundingBoxY; float boundingBoxZ = node.BoundingBoxZ; return(AppMain.nnCalcClipBox(node.Center, boundingBoxX, boundingBoxY, boundingBoxZ, mtx)); }
// Token: 0x06001992 RID: 6546 RVA: 0x000E81DC File Offset: 0x000E63DC private static void nnCalcClipSetNodeStatus(uint[] pNodeStatList, AppMain.NNS_NODE[] pNodeList, int nodeIdx, NNS_MATRIX pNodeMtx, float rootscale, uint flag) { AppMain.nnclip.nnsNodeStatList = pNodeStatList; AppMain.nnclip.nnsNodeList = pNodeList; AppMain.NNS_NODE nns_NODE = pNodeList[nodeIdx]; if ((pNodeStatList[nodeIdx] & 1025U) != 0U) { return; } if ((nns_NODE.fType & 16U) != 0U) { pNodeStatList[nodeIdx] |= 1U; } if ((nns_NODE.fType & 32U) != 0U) { pNodeStatList[nodeIdx] |= 1U; if (nns_NODE.iChild != -1) { AppMain.nnSetUpNodeStatusListFlag(( int )nns_NODE.iChild, 1U); } return; } if (flag != 0U) { if (nns_NODE.iMatrix == -1 && (flag & 8U) == 0U) { return; } if ((nns_NODE.fType & 2097152U) != 0U && (nns_NODE.fType & 4194304U) == 0U && (flag & 32U) == 0U) { pNodeStatList[nodeIdx] |= AppMain.nnCalcClipBoxNode(nns_NODE, pNodeMtx); } else if ((flag & 16U) != 0U) { pNodeStatList[nodeIdx] |= AppMain.nnCalcClip(nns_NODE.Center, nns_NODE.Radius, pNodeMtx); } else { pNodeStatList[nodeIdx] |= AppMain.nnCalcClipUniformScale(nns_NODE.Center, nns_NODE.Radius, pNodeMtx, rootscale); } if ((pNodeStatList[nodeIdx] & 16U) != 0U) { if ((flag & 2U) != 0U) { pNodeStatList[nodeIdx] |= 1024U; } else { pNodeStatList[nodeIdx] |= 1U; } if ((flag & 8U) != 0U && nns_NODE.iChild != -1) { AppMain.nnSetUpNodeStatusListFlag(( int )nns_NODE.iChild, pNodeStatList[nodeIdx]); } } } }
private static void gmBsCmnGetNodeInvWorldMtx( AppMain.NNS_MATRIX dest_mtx, AppMain.NNS_NODE node, AppMain.NNS_MATRIX inv_view_mtx, AppMain.NNS_MATRIX[] mtx_plt) { AppMain.nnMultiplyMatrix(dest_mtx, inv_view_mtx, mtx_plt[(int)node.iMatrix]); AppMain.nnInvertMatrix(dest_mtx, dest_mtx); AppMain.nnMultiplyMatrix(dest_mtx, node.InvInitMtx, dest_mtx); }
public NNS_NODE(AppMain.NNS_NODE node) { this.fType = node.fType; this.iMatrix = node.iMatrix; this.iParent = node.iParent; this.iChild = node.iChild; this.iSibling = node.iSibling; this.Translation.Assign(node.Translation); this.Rotation = node.Rotation; this.Scaling.Assign(node.Scaling); this.InvInitMtx.Assign(node.InvInitMtx); this.Center.Assign(node.Center); this.Radius = node.Radius; this.User = node.User; this.SIIKBoneLength = node.SIIKBoneLength; this.BoundingBoxY = node.BoundingBoxY; this.BoundingBoxZ = node.BoundingBoxZ; }