Class ImplicitPSurface
A surface, defined by a polynom in 3 variables. The surface is defined as P(x,y,z)==0.
Inheritance
System.Object
ImplicitPSurface
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: CADability.dll
Syntax
public class ImplicitPSurface
Constructors
|
Improve this Doc
View Source
ImplicitPSurface(ISurface, BoundingRect, Int32)
Declaration
public ImplicitPSurface(ISurface surface, BoundingRect uvbounds, int maxdegree)
Parameters
|
Improve this Doc
View Source
ImplicitPSurface(ISurface, BoundingRect, Int32, Boolean, Int32)
Approximate the provided surface with a imlicit polynomial surface. Uses points an normals of the surface. Yields good
results for quadrics (degree==2) and for ruled surfaces.
Declaration
public ImplicitPSurface(ISurface surface, BoundingRect uvbounds, int degree, bool useNormal, int nPoints = 0)
Parameters
| Type |
Name |
Description |
| ISurface |
surface |
|
| BoundingRect |
uvbounds |
|
| System.Int32 |
degree |
|
| System.Boolean |
useNormal |
|
| System.Int32 |
nPoints |
|
|
Improve this Doc
View Source
ImplicitPSurface(ISurface, BoundingRect, Int32, Double)
Declaration
public ImplicitPSurface(ISurface surface, BoundingRect uvbounds, int maxdegree, double precision)
Parameters
| Type |
Name |
Description |
| ISurface |
surface |
|
| BoundingRect |
uvbounds |
|
| System.Int32 |
maxdegree |
|
| System.Double |
precision |
|
|
Improve this Doc
View Source
ImplicitPSurface(GeoPoint[])
Creates a quadric through these points (needs at least 10 points)
Declaration
public ImplicitPSurface(GeoPoint[] samples)
Parameters
| Type |
Name |
Description |
| GeoPoint[] |
samples |
|
|
Improve this Doc
View Source
ImplicitPSurface(Polynom)
Declaration
public ImplicitPSurface(Polynom polynom)
Parameters
| Type |
Name |
Description |
| Polynom |
polynom |
|
|
Improve this Doc
View Source
ImplicitPSurface(Polynom, ModOp)
Declaration
public ImplicitPSurface(Polynom polynom, ModOp m)
Parameters
Properties
|
Improve this Doc
View Source
Polynom
Returns the implicit polynom of this surface (i.e. polynom(x,y,z)==0 for all points on the surface)
Declaration
public Polynom Polynom { get; }
Property Value
Methods
|
Improve this Doc
View Source
Declaration
public GeoPoint[] FootPoint(GeoPoint fromHere)
Parameters
Returns
|
Improve this Doc
View Source
Intersect(ExplicitPCurve3D, out Double[])
Returns the intersection points of the provided curve with this surface.
Declaration
public GeoPoint[] Intersect(ExplicitPCurve3D c3d, out double[] u)
Parameters
| Type |
Name |
Description |
| ExplicitPCurve3D |
c3d |
curve to intersect with
|
| System.Double[] |
u |
returns the parameter values for the curve of the intersection points
|
Returns
| Type |
Description |
| GeoPoint[] |
the intersection points
|
|
Improve this Doc
View Source
Intersect(GeoPoint, GeoVector, out Double[])
Declaration
public GeoPoint[] Intersect(GeoPoint sp, GeoVector dir, out double[] u)
Parameters
Returns
|
Improve this Doc
View Source
LagrangeReduction3()
Modifies the surface into it's "canonical" position. A sphere will be around the origin, a cylinder will be around the z-axis,
a cone will be around the z-axis with its apex at the origin. The returned ModOp modifies the canonical form into the original form.
Makes only sense for quadrics
Declaration
public ModOp LagrangeReduction3()
Returns
| Type |
Description |
| ModOp |
the modification that transforms the canonical form into the initial form
|
|
Improve this Doc
View Source
MinMaxToCurve(ExplicitPCurve3D, out Double[])
Declaration
public GeoPoint[] MinMaxToCurve(ExplicitPCurve3D c3d, out double[] u)
Parameters
Returns
|
Improve this Doc
View Source
MinMaxToPatch(GeoPoint, GeoVector, GeoVector)
Returns a list of all points of the surface, where there is a minimum or maximum distance to the plane, defined by
loc, dirx, diry. Returns only those points, which have a (perpendicular) footpoint in the parallelogram, defined by
the parameters.
Declaration
public GeoPoint[] MinMaxToPatch(GeoPoint loc, GeoVector dirx, GeoVector diry)
Parameters
Returns
|
Improve this Doc
View Source
Normal(GeoPoint)
Declaration
public GeoVector Normal(GeoPoint fromHere)
Parameters
Returns
|
Improve this Doc
View Source
PerpendicularToGradient(ExplicitPCurve3D)
Declaration
public double[] PerpendicularToGradient(ExplicitPCurve3D curve)
Parameters
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
PerpendicularToGradient(GeoPoint, GeoVector)
Declaration
public double[] PerpendicularToGradient(GeoPoint lineStart, GeoVector lineDirection)
Parameters
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
PolynomialDistance(GeoPoint)
Declaration
public double PolynomialDistance(GeoPoint fromHere)
Parameters
Returns
| Type |
Description |
| System.Double |
|