ConicFunction
FunctionWithCachingFunction[IoId("00000000-c0a1-4c02-9e71-8b1d3f5a6e20")]
public sealed class ConicFunction : FunctionWithCaching
conic section curve represented by a 3-point degree=2 nurbs curve with a weighted centre point. The corners can be filleted.
Constructors
ConicFunction
#Create a new conic function.
Parameters:
| left (Point2d) | Left primary grip. Left of this the function is horizontal at this level. |
| right (Point2d) | Right primary grip. Right of this the function is horizontal at this level. |
| u (double) | Normalised interior x-coordinate (0 = left grip, 1 = right grip). |
| v (double) | Normalised interior y-coordinate (0 = left level, 1 = right level). |
| r (double) | Fillet radius as a length in function space (0 = sharp corners). |
Properties
Derivative
Gets a function which is the derivative of this function. The returned function may be either analytic or approximate.
Overrides: Function.Derivative
Integral
Gets a function which is the indefinite integral of this function. The returned function may be analytic or approximate. Note that numeric approximation of indefinite integrals is a slow and not particularly high quality process.
Overrides: Function.Integral
Notation
Gets the notation for this function. Notation is aimed at humans and does not need to return a parseable string.
Overrides: Function.Notation
Methods
Asymptotes
Returns an array of *all* the non-vertical asymptotes for this function. This property may return both null and empty arrays, implying no asymptotes. Due to the nature of non-vertical asymptotes, there can only be a finite amount of them.
AutoCoDomain
Compute the automatic codomain for a given domain.
DomainEstimate
#Overrides: Function.DomainEstimate
EmitDerivative
Override this method to provide an analytic derivative.
EmitIntegral
Override this method to provide an analytic indefinite integral.
Holes
Returns a collection of domains for which this function is not defined. This method may return null or an empty array, implying no undefined domains. This method may also return domains outside of the specified interval.
Integrate
Evaluate the definite integral between two parameters. Unless a function specifically implements an analytic integral, this value will be approximate. Note to implementer: if you provide an analytic integral via the Function.Integral property, that function will be used to compute an analytic result. There is typically no reason to override this method.
MaxFillet
#The largest fillet radius (a function-space length) that keeps the corner fillet valid, i.e. its total x-footprint stays within the span width. Used to clamp the fillet grip.
Poles
Returns an array of all the poles (i.e. vertical asymptotes) within a domain. This method may return both null and empty arrays, implying no poles. Furthermore this method may choose to return poles which fall outside of the given domain.
YYYY
Evaluate a large amount of values. Functions may choose to use multiple threads to perform this calculation. This method should not throw, instead every failed evaluation will be represented by a NaN value.
Parameters:
| x (double[]) | Value to evaluate. |
Returns: Evaluation results. Array will contain double.NaN entries for failed evaluations.