示例#1
0
 public DisplacementCombinerOp()
 {
     Displacements = new ShapeModelingOpList <IVectorDisplacementSourceOp>();
     Displacements.CollectionModified     += on_collection_modified;
     Displacements.CollectionItemModified += on_child_modified;
     CombinedDisplacement = new VectorDisplacement();
 }
 public LegSqueezeOp(IMeshSourceOp meshSource = null)
 {
     Displacement = new VectorDisplacement();
     if (meshSource != null)
     {
         MeshSource = meshSource;
     }
 }
示例#3
0
 public virtual void UpdateMap(VectorDisplacement update)
 {
     lock (set_displacement) {
         set_displacement.Set(update);
         have_set_displacement = true;
     }
     base.invalidate();
 }
示例#4
0
 public EnclosedRegionSmoothOp(IMeshSourceOp meshSource = null)
 {
     smooth_alpha = 0.5f;
     Displacement = new VectorDisplacement();
     if (meshSource != null)
     {
         MeshSource = meshSource;
     }
 }
示例#5
0
 public VectorDisplacementMapOp(IMeshSourceOp meshSource = null)
 {
     Displacement     = new VectorDisplacement();
     set_displacement = new VectorDisplacement();
     if (meshSource != null)
     {
         MeshSource = meshSource;
     }
 }
示例#6
0
        /// <summary>
        /// Returns copy of current displacement map. thread-safe.
        /// </summary>
        public virtual VectorDisplacement GetMapCopy()
        {
            VectorDisplacement map = new VectorDisplacement();

            lock (Displacement) {
                map.Set(Displacement);
            }
            return(map);
        }
 public IndicesRegionOffsetOp(IMeshSourceOp meshSource = null)
 {
     Normal          = Vector3d.AxisY;
     offset_distance = 0.25f;
     Displacement    = new VectorDisplacement();
     if (meshSource != null)
     {
         MeshSource = meshSource;
     }
 }
        public void Set(VectorDisplacement d)
        {
            int N = d.V.Count;

            V.Resize(N);
            for (int i = 0; i < N; ++i)
            {
                V[i] = d.V[i];
            }
        }
示例#9
0
 public PlaneBandExpansionOp(IMeshSourceOp meshSource = null)
 {
     origin          = Vector3d.Zero;
     Normal          = Vector3d.AxisY;
     band_distance   = 1.0f;
     offset_distance = 0.25f;
     Displacement    = new VectorDisplacement();
     if (meshSource != null)
     {
         MeshSource = meshSource;
     }
 }
示例#10
0
 public LengthenOp(IMeshSourceOp meshSource = null)
 {
     basePt       = Vector3d.Zero;
     Direction    = -Vector3d.AxisY;
     distance     = 1.0;
     falloff_rate = 0.25;
     Displacement = new VectorDisplacement();
     if (meshSource != null)
     {
         MeshSource = meshSource;
     }
 }