Beispiel #1
0
    /* Intersection
     *
     *
     * // Master Faces against Slave Tree
     * private void AdditiveMaster( Face inFace, EPolySide inSide, OperationInfo info )
     * {
     *      Debug.Log( inSide );
     *
     *      switch( inSide )
     *      {
     *      case EPolySide.PolySide_Outside:
     *      case EPolySide.PolySide_Planar_Front:
     *              // discard original node
     *              currentNode.flags |= BspNode.BspFlags_IsDestroyed;
     *              break;
     *      case EPolySide.PolySide_Inside:
     *      case EPolySide.PolySide_Planar_Back:
     *      case EPolySide.PolySide_CoPlanar_Back:
     *      case EPolySide.PolySide_CoPlanar_Front:
     *              // add cutted polygons
     *              if( (inFace.flags & Face.FaceFlags_WasCutted) != 0 )
     *                      BspGen.AddNode( currentNode, BspNode.EBspLocation.BspLocation_Planar, inFace, BspNode.BspFlags_IsNew );
     *              break;
     *
     *      }
     * }
     *
     * // Slave Polygons against Master Tree
     * private void AdditiveSlave( Face inFace, EPolySide inSide, OperationInfo info )
     * {
     *
     * //		Debug.Log( inSide );
     *
     *      switch( inSide )
     *      {
     *      case EPolySide.PolySide_Outside:
     *      case EPolySide.PolySide_CoPlanar_Front:
     *      case EPolySide.PolySide_Planar_Front:
     *              break;
     *      case EPolySide.PolySide_Inside:
     *      case EPolySide.PolySide_Planar_Back:
     *      case EPolySide.PolySide_CoPlanar_Back:
     *
     *              // add to deferred faces
     *              DeferredFace defFace;
     *              defFace.face = inFace;
     *              defFace.node = currentNode;
     *              deferredFaces.Add( defFace );
     *              break;
     *
     *      }
     * }
     */

    // Callback for Visitor
    public void AddPlanarFace(CSGFace inFace)
    {
        BspGen.AddNode(currentNode, BspNode.EBspLocation.BspLocation_Planar, inFace, BspNode.BspFlags_IsNew);
    }