Class ISurfaceImpl
Internal helper class for ISurface implementation.
Inheritance
System.Object
ISurfaceImpl
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 abstract class ISurfaceImpl : ISurface, IOctTreeInsertable
Constructors
|
Improve this Doc
View Source
ISurfaceImpl(Nullable<BoundingRect>)
Declaration
protected ISurfaceImpl(BoundingRect? usedArea = default(BoundingRect? ))
Parameters
| Type |
Name |
Description |
| System.Nullable<BoundingRect> |
usedArea |
|
Fields
|
Improve this Doc
View Source
extrema
Declaration
protected GeoPoint2D[] extrema
Field Value
Properties
|
Improve this Doc
View Source
IsRuled
Declaration
public virtual RuledSurfaceMode IsRuled { get; }
Property Value
|
Improve this Doc
View Source
IsUClosed
Declaration
public virtual bool IsUClosed { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IsUPeriodic
Declaration
public virtual bool IsUPeriodic { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IsVClosed
Declaration
public virtual bool IsVClosed { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IsVPeriodic
Declaration
public virtual bool IsVPeriodic { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
Oriented
Declaration
public virtual bool Oriented { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
UPeriod
Declaration
public virtual double UPeriod { get; }
Property Value
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
UvChangesWithModification
Declaration
public virtual bool UvChangesWithModification { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
VPeriod
Declaration
public virtual double VPeriod { get; }
Property Value
| Type |
Description |
| System.Double |
|
Methods
|
Improve this Doc
View Source
Approximate(Double, Double, Double, Double, Double)
Declaration
public virtual NurbsSurface Approximate(double umin, double umax, double vmin, double vmax, double precision)
Parameters
| Type |
Name |
Description |
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
| System.Double |
precision |
|
Returns
|
Improve this Doc
View Source
Clone()
Declaration
public virtual ISurface Clone()
Returns
|
Improve this Doc
View Source
CopyData(ISurface)
Declaration
public virtual void CopyData(ISurface CopyFrom)
Parameters
|
Improve this Doc
View Source
cube(Double)
Declaration
protected static double cube(double x)
Parameters
| Type |
Name |
Description |
| System.Double |
x |
|
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
Derivation2At(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector, out GeoVector, out GeoVector, out GeoVector)
Declaration
public virtual void Derivation2At(GeoPoint2D uv, out GeoPoint location, out GeoVector du, out GeoVector dv, out GeoVector duu, out GeoVector dvv, out GeoVector duv)
Parameters
|
Improve this Doc
View Source
DerivationAt(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector)
Declaration
public virtual void DerivationAt(GeoPoint2D uv, out GeoPoint location, out GeoVector du, out GeoVector dv)
Parameters
|
Improve this Doc
View Source
exp32(Double)
Declaration
protected static double exp32(double x)
Parameters
| Type |
Name |
Description |
| System.Double |
x |
|
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
exp52(Double)
Declaration
protected static double exp52(double x)
Parameters
| Type |
Name |
Description |
| System.Double |
x |
|
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
FixedU(Double, Double, Double)
Declaration
public abstract ICurve FixedU(double u, double vmin, double vmax)
Parameters
| Type |
Name |
Description |
| System.Double |
u |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
Returns
|
Improve this Doc
View Source
FixedV(Double, Double, Double)
Declaration
public abstract ICurve FixedV(double u, double umin, double umax)
Parameters
| Type |
Name |
Description |
| System.Double |
u |
|
| System.Double |
umin |
|
| System.Double |
umax |
|
Returns
|
Improve this Doc
View Source
Declaration
public virtual ISurface GetCanonicalForm(double precision, BoundingRect? bounds)
Parameters
| Type |
Name |
Description |
| System.Double |
precision |
|
| System.Nullable<BoundingRect> |
bounds |
|
Returns
|
Improve this Doc
View Source
Declaration
public virtual MenuWithHandler[] GetContextMenuForParametrics(IFrame frame, Face face)
Parameters
Returns
|
Improve this Doc
View Source
GetDistance(GeoPoint)
Declaration
public virtual double GetDistance(GeoPoint p)
Parameters
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
GetDualSurfaceCurves(BoundingRect, ISurface, BoundingRect, List<GeoPoint>, List<Tuple<Double, Double, Double, Double>>)
Declaration
public virtual IDualSurfaceCurve[] GetDualSurfaceCurves(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, List<GeoPoint> seeds, List<Tuple<double, double, double, double>> extremePositions)
Parameters
| Type |
Name |
Description |
| BoundingRect |
thisBounds |
|
| ISurface |
other |
|
| BoundingRect |
otherBounds |
|
| System.Collections.Generic.List<GeoPoint> |
seeds |
|
| System.Collections.Generic.List<System.Tuple<System.Double, System.Double, System.Double, System.Double>> |
extremePositions |
|
Returns
|
Improve this Doc
View Source
GetExtrema()
Declaration
public virtual GeoPoint2D[] GetExtrema()
Returns
|
Improve this Doc
View Source
GetExtremePositions(BoundingRect, ICurve, out List<Tuple<Double, Double, Double>>)
Declaration
public virtual int GetExtremePositions(BoundingRect domain, ICurve curve3D, out List<Tuple<double, double, double>> positions)
Parameters
| Type |
Name |
Description |
| BoundingRect |
domain |
|
| ICurve |
curve3D |
|
| System.Collections.Generic.List<System.Tuple<System.Double, System.Double, System.Double>> |
positions |
|
Returns
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
GetExtremePositions(BoundingRect, ISurface, BoundingRect, out List<Tuple<Double, Double, Double, Double>>)
Declaration
public virtual int GetExtremePositions(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, out List<Tuple<double, double, double, double>> extremePositions)
Parameters
| Type |
Name |
Description |
| BoundingRect |
thisBounds |
|
| ISurface |
other |
|
| BoundingRect |
otherBounds |
|
| System.Collections.Generic.List<System.Tuple<System.Double, System.Double, System.Double, System.Double>> |
extremePositions |
|
Returns
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
GetImplicitPolynomial()
Declaration
public virtual Polynom GetImplicitPolynomial()
Returns
|
Improve this Doc
View Source
GetLineIntersection(GeoPoint, GeoVector)
Declaration
public virtual GeoPoint2D[] GetLineIntersection(GeoPoint startPoint, GeoVector direction)
Parameters
Returns
|
Improve this Doc
View Source
GetModified(ModOp)
Declaration
public abstract ISurface GetModified(ModOp m)
Parameters
| Type |
Name |
Description |
| ModOp |
m |
|
Returns
|
Improve this Doc
View Source
GetNaturalBounds(out Double, out Double, out Double, out Double)
Declaration
public virtual void GetNaturalBounds(out double umin, out double umax, out double vmin, out double vmax)
Parameters
| Type |
Name |
Description |
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
|
Improve this Doc
View Source
GetNonPeriodicSurface(ICurve[])
Declaration
public virtual ISurface GetNonPeriodicSurface(ICurve[] orientedCurves)
Parameters
| Type |
Name |
Description |
| ICurve[] |
orientedCurves |
|
Returns
|
Improve this Doc
View Source
GetNormal(GeoPoint2D)
Declaration
public virtual GeoVector GetNormal(GeoPoint2D uv)
Parameters
Returns
|
Improve this Doc
View Source
GetOffsetSurface(Double)
Declaration
public virtual ISurface GetOffsetSurface(double offset)
Parameters
| Type |
Name |
Description |
| System.Double |
offset |
|
Returns
|
Improve this Doc
View Source
GetOffsetSurface(Double, out ModOp2D)
Declaration
public virtual ISurface GetOffsetSurface(double offset, out ModOp2D mod)
Parameters
| Type |
Name |
Description |
| System.Double |
offset |
|
| ModOp2D |
mod |
|
Returns
|
Improve this Doc
View Source
GetPatchExtent(BoundingRect, Boolean)
Declaration
public virtual BoundingCube GetPatchExtent(BoundingRect uvPatch, bool rough)
Parameters
| Type |
Name |
Description |
| BoundingRect |
uvPatch |
|
| System.Boolean |
rough |
|
Returns
|
Improve this Doc
View Source
GetPatchHull(BoundingRect, out GeoPoint, out GeoVector, out GeoVector, out GeoVector)
Declaration
public virtual void GetPatchHull(BoundingRect uvpatch, out GeoPoint loc, out GeoVector dir1, out GeoVector dir2, out GeoVector dir3)
Parameters
|
Improve this Doc
View Source
GetPlaneIntersection(PlaneSurface, Double, Double, Double, Double, Double)
Declaration
public virtual IDualSurfaceCurve[] GetPlaneIntersection(PlaneSurface pl, double umin, double umax, double vmin, double vmax, double precision)
Parameters
| Type |
Name |
Description |
| PlaneSurface |
pl |
|
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
| System.Double |
precision |
|
Returns
|
Improve this Doc
View Source
GetPolynomialParameters()
Declaration
public virtual double[] GetPolynomialParameters()
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
GetProjectedCurve(ICurve, Double)
Declaration
public virtual ICurve2D GetProjectedCurve(ICurve curve, double precision)
Parameters
| Type |
Name |
Description |
| ICurve |
curve |
|
| System.Double |
precision |
|
Returns
|
Improve this Doc
View Source
GetPropertyEntry(IFrame)
Declaration
public abstract IPropertyEntry GetPropertyEntry(IFrame frame)
Parameters
| Type |
Name |
Description |
| IFrame |
frame |
|
Returns
|
Improve this Doc
View Source
GetSafeParameterSteps(Double, Double, Double, Double, out Double[], out Double[])
Declaration
public virtual void GetSafeParameterSteps(double umin, double umax, double vmin, double vmax, out double[] intu, out double[] intv)
Parameters
| Type |
Name |
Description |
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
| System.Double[] |
intu |
|
| System.Double[] |
intv |
|
|
Improve this Doc
View Source
GetSaveUSteps()
Declaration
protected virtual double[] GetSaveUSteps()
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
GetSaveVSteps()
Declaration
protected virtual double[] GetSaveVSteps()
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
GetSelfIntersections(BoundingRect)
Declaration
public virtual ICurve2D[] GetSelfIntersections(BoundingRect bounds)
Parameters
Returns
|
Improve this Doc
View Source
GetTangentCurves(GeoVector, Double, Double, Double, Double)
Declaration
public virtual ICurve2D[] GetTangentCurves(GeoVector direction, double umin, double umax, double vmin, double vmax)
Parameters
| Type |
Name |
Description |
| GeoVector |
direction |
|
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
Returns
|
Improve this Doc
View Source
GetTouchingPoints(BoundingRect, ISurface, BoundingRect)
Declaration
public virtual GeoPoint[] GetTouchingPoints(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds)
Parameters
Returns
|
Improve this Doc
View Source
GetUSingularities()
Declaration
public virtual double[] GetUSingularities()
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
GetVSingularities()
Declaration
public virtual double[] GetVSingularities()
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
GetZMinMax(Projection, Double, Double, Double, Double, ref Double, ref Double)
Declaration
public virtual void GetZMinMax(Projection p, double umin, double umax, double vmin, double vmax, ref double zMin, ref double zMax)
Parameters
| Type |
Name |
Description |
| Projection |
p |
|
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
| System.Double |
zMin |
|
| System.Double |
zMax |
|
|
Improve this Doc
View Source
HasDiscontinuousDerivative(out ICurve2D[])
Declaration
public virtual bool HasDiscontinuousDerivative(out ICurve2D[] discontinuities)
Parameters
| Type |
Name |
Description |
| ICurve2D[] |
discontinuities |
|
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
HitTest(BoundingCube, out GeoPoint2D)
Declaration
public virtual bool HitTest(BoundingCube cube, out GeoPoint2D uv)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
HitTest(BoundingCube, Double, Double, Double, Double)
Declaration
public virtual bool HitTest(BoundingCube cube, double umin, double umax, double vmin, double vmax)
Parameters
| Type |
Name |
Description |
| BoundingCube |
cube |
|
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
Intersect(BoundingRect, ISurface, BoundingRect)
Declaration
public virtual ICurve[] Intersect(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds)
Parameters
Returns
|
Improve this Doc
View Source
Intersect(BoundingRect, ISurface, BoundingRect, GeoPoint)
Declaration
public virtual ICurve Intersect(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, GeoPoint seed)
Parameters
Returns
|
Improve this Doc
View Source
Intersect(ICurve, BoundingRect, out GeoPoint[], out GeoPoint2D[], out Double[])
Declaration
public virtual void Intersect(ICurve curve, BoundingRect uvExtent, out GeoPoint[] ips, out GeoPoint2D[] uvOnFaces, out double[] uOnCurve3Ds)
Parameters
|
Improve this Doc
View Source
InvalidateSecondaryData()
Declaration
protected void InvalidateSecondaryData()
|
Improve this Doc
View Source
IsExtruded(GeoVector)
Declaration
public virtual bool IsExtruded(GeoVector direction)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IsVanishingProjection(Projection, Double, Double, Double, Double)
Declaration
public virtual bool IsVanishingProjection(Projection p, double umin, double umax, double vmin, double vmax)
Parameters
| Type |
Name |
Description |
| Projection |
p |
|
| System.Double |
umin |
|
| System.Double |
umax |
|
| System.Double |
vmin |
|
| System.Double |
vmax |
|
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
Make3dCurve(ICurve2D)
Declaration
public virtual ICurve Make3dCurve(ICurve2D curve2d)
Parameters
Returns
|
Improve this Doc
View Source
Declaration
public virtual ModOp2D MakeCanonicalForm()
Returns
|
Improve this Doc
View Source
MakeFace(SimpleShape)
Declaration
public virtual Face MakeFace(SimpleShape simpleShape)
Parameters
Returns
|
Improve this Doc
View Source
MaxDist(GeoPoint2D, GeoPoint2D, out GeoPoint2D)
Declaration
public virtual double MaxDist(GeoPoint2D sp, GeoPoint2D ep, out GeoPoint2D mp)
Parameters
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
Modify(ModOp)
Declaration
public virtual void Modify(ModOp m)
Parameters
| Type |
Name |
Description |
| ModOp |
m |
|
|
Improve this Doc
View Source
Orientation(GeoPoint)
Declaration
public virtual double Orientation(GeoPoint p)
Parameters
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
Declaration
public virtual GeoPoint2D[] PerpendicularFoot(GeoPoint fromHere)
Parameters
Returns
|
Improve this Doc
View Source
PointAt(GeoPoint2D)
Declaration
public abstract GeoPoint PointAt(GeoPoint2D uv)
Parameters
Returns
|
Improve this Doc
View Source
PositionOf(GeoPoint)
Declaration
public virtual GeoPoint2D PositionOf(GeoPoint p)
Parameters
Returns
|
Improve this Doc
View Source
PositionOf(GeoPoint, BoundingRect)
Declaration
public GeoPoint2D PositionOf(GeoPoint p, BoundingRect domain)
Parameters
Returns
|
Improve this Doc
View Source
quad(Double)
Declaration
protected static double quad(double x)
Parameters
| Type |
Name |
Description |
| System.Double |
x |
|
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
Refine(GeoPoint[], Int32, Boolean, PlaneSurface, Double)
Declaration
public BSpline Refine(GeoPoint[] geopoints, int degree, bool closed, PlaneSurface pl, double precision)
Parameters
| Type |
Name |
Description |
| GeoPoint[] |
geopoints |
|
| System.Int32 |
degree |
|
| System.Boolean |
closed |
|
| PlaneSurface |
pl |
|
| System.Double |
precision |
|
Returns
|
Improve this Doc
View Source
ReverseOrientation()
Declaration
public virtual ModOp2D ReverseOrientation()
Returns
|
Improve this Doc
View Source
SameGeometry(BoundingRect, ISurface, BoundingRect, Double, out ModOp2D)
Declaration
public virtual bool SameGeometry(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, double precision, out ModOp2D firstToSecond)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
SetBounds(BoundingRect)
Declaration
public virtual void SetBounds(BoundingRect boundingRect)
Parameters
|
Improve this Doc
View Source
sqr(Double)
Declaration
protected static double sqr(double x)
Parameters
| Type |
Name |
Description |
| System.Double |
x |
|
Returns
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
UDirection(GeoPoint2D)
Declaration
public abstract GeoVector UDirection(GeoPoint2D uv)
Parameters
Returns
|
Improve this Doc
View Source
VDirection(GeoPoint2D)
Declaration
public abstract GeoVector VDirection(GeoPoint2D uv)
Parameters
Returns
Explicit Interface Implementations
|
Improve this Doc
View Source
IOctTreeInsertable.GetExtent(Double)
Declaration
BoundingCube IOctTreeInsertable.GetExtent(double precision)
Parameters
| Type |
Name |
Description |
| System.Double |
precision |
|
Returns
|
Improve this Doc
View Source
IOctTreeInsertable.HitTest(ref BoundingCube, Double)
Declaration
bool IOctTreeInsertable.HitTest(ref BoundingCube cube, double precision)
Parameters
| Type |
Name |
Description |
| BoundingCube |
cube |
|
| System.Double |
precision |
|
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IOctTreeInsertable.HitTest(Projection, BoundingRect, Boolean)
Declaration
bool IOctTreeInsertable.HitTest(Projection projection, BoundingRect rect, bool onlyInside)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IOctTreeInsertable.HitTest(Projection.PickArea, Boolean)
Declaration
bool IOctTreeInsertable.HitTest(Projection.PickArea area, bool onlyInside)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IOctTreeInsertable.Position(GeoPoint, GeoVector, Double)
Declaration
double IOctTreeInsertable.Position(GeoPoint fromHere, GeoVector direction, double precision)
Parameters
Returns
| Type |
Description |
| System.Double |
|
Implements