MaelstromSpaceMorph

SpaceMorph
Deforms objects in a spiral as if they were caught in a whirlpool.

Constructors

MaelstromSpaceMorph

#Since v5.9
public MaelstromSpaceMorph(Plane plane, double radius0, double radius1, double angle)
Constructs a maelstrom space morph.
Remarks:

If radius0 = radius1 > 0, then the morph is a rotation where the angle of rotation is proportional to the radius. If radius0 < radius1, then everything inside of the circle of radius radius0 if fixed, the rotation angle increases smoothly from 0 at radius0 to m_a at radius1, and everything outside of the circle of radius radius1 is rotated by angle. If radius0 > radius1, then everything outside of the circle of radius radius0 if fixed, the rotation angle increases smoothly from 0 at radius0 to m_a at radius1, and everything inside of the circle of radius radius1 is rotated by angle.

plane (Plane)Plane on which the base circle will lie. Origin of the plane will be the center point of the circle.
radius0 (double)First radius.
radius1 (double)Second radius.
angle (double)Coil angle in radians.

Finalizer

~MaelstromSpaceMorph

#
~MaelstromSpaceMorph()
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

Properties

IsValid

#Since v5.9
public bool IsValid { get; }
Returns true if the space morph definition is valid, false otherwise.

PreserveStructure

public bool PreserveStructure { get; set; }
true if the morph should be done in a way that preserves the structure of the geometry. In particular, for NURBS objects, true means that only the control points are moved. The PreserveStructure value does not affect the way meshes and points are morphed. The default is false.
inherited fromSpaceMorph

QuickPreview

public bool QuickPreview { get; set; }
true if the morph should be done as quickly as possible because the result is being used for some type of dynamic preview. If QuickPreview is true, the tolerance may be ignored. The QuickPreview value does not affect the way meshes and points are morphed. The default is false.
inherited fromSpaceMorph

Tolerance

public double Tolerance { get; set; }
The desired accuracy of the morph. This value is primarily used for deforming surfaces and breps. The default is 0.0 and any value <= 0.0 is ignored by morphing functions. The Tolerance value does not affect the way meshes and points are morphed.
inherited fromSpaceMorph

Methods

Dispose

#Since v5.9
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.

Dispose

#
protected virtual void Dispose(bool disposing)
For derived class implementers.

This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method.

disposing (bool)true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer.

Morph

public bool Morph(GeometryBase geometry)
Apply the space morph to geometry.
inherited fromSpaceMorph
geometry (GeometryBase)Geometry to morph.
true on success, false on failure.

Morph

public bool Morph(ref Plane plane)
Apply the space morph to a plane.
inherited fromSpaceMorph
plane (ref Plane)Plane to morph.
true on success, false on failure.

MorphPoint

#Since v5.9
public override Point3d MorphPoint(Point3d point)
Morphs an Euclidean point.
point (Point3d)A point that will be morphed by this object.
Resulting morphed point.