Ejemplo n.º 1
0
        private void subtractFootprint(Vector3 jetVector, int xIndex, int yIndex, int startXIndex, int endXIndex, int startYIndex,
                                       int endYIndex, double removalConst)
        {
            try
            {
                for (int surfX = startXIndex; surfX <= endXIndex; surfX++)
                {
                    int jetXIndex = xIndex - surfX;

                    for (int surfY = startYIndex; surfY <= endYIndex; surfY++)
                    {
                        int    jetYIndex = yIndex - surfY;
                        double remRate   = abmachParams.AbMachJet.RemovalRateAt(jetXIndex, jetYIndex);

                        if (remRate > 0)
                        {
                            Vector3 normal          = _surface.GetNormal(surfX, surfY);
                            double  slopeF          = slopeFactor(jetVector, normal);
                            double  materialRemoved = removalConst * slopeF * remRate;
                            _tempSurf.SetDepth(surfX, surfY, materialRemoved);
                        }
                        else
                        {
                            var pt = new Abmach2DPoint();
                            pt.JetHit = false;
                            _tempSurf.SetDepth(surfX, surfY, 0);
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
 private void moveTempToModel(int xIndex, int yIndex, int startXIndex, int endXIndex, int startYIndex, int endYIndex)
 {
     try
     {
         for (int surfX = startXIndex; surfX <= endXIndex; surfX++)
         {
             for (int surfY = startYIndex; surfY <= endYIndex; surfY++)
             {
                 var depth = _surface.GetDepth(surfX, surfY) - _tempSurf.GetDepth(surfX, surfY);
                 _surface.SetDepth(surfX, surfY, depth);
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }