|
Classes | |
| class | abs_law |
| Provides methods for the ABS mathematical function. More... | |
| class | and_law |
| Provides methods for the AND boolean function. More... | |
| class | arccos_law |
| Provides methods for the ARCCOSINE mathematical function. More... | |
| class | arccosh_law |
| Provides methods for the ARCCOSH (Hyperbolic Arccosine) mathematical function. More... | |
| class | arccot_law |
| Provides methods for the ARCCOTANGENT mathematical function. More... | |
| class | arccoth_law |
| Provides methods for the ARCCOTH mathematical function. More... | |
| class | arccsc_law |
| Provides methods for the ARCCOSECANT mathematical function. More... | |
| class | arccsch_law |
| Provides methods for the ARCCOSECH mathematical function. More... | |
| class | arcsec_law |
| Provides methods for the ARCSECANT mathematical function. More... | |
| class | arcsech_law |
| Provides methods for the ARCSECH mathematical function. More... | |
| class | arcsin_law |
| Provides methods for the ARCSINE mathematical function. More... | |
| class | arcsinh_law |
| Provides methods for the ARCSINH (Hyperbolic Arcsine) mathematical function. More... | |
| class | arctan_law |
| Provides methods for the ARCTANGENT mathematical function. More... | |
| class | arctanh_law |
| Provides methods for the ARCTANH (Hyperbolic Arc Tangent) mathematical function. More... | |
| class | base_curve_law_data |
Abstract base class for accessing a curve_law_data with or without the ACIS kernel. More... | |
| class | base_pcurve_law_data |
Abstract base class for accessing a pcurve_law_data with or without the ACIS kernel. More... | |
| class | base_pointer_map |
| This class tracks reference counting of sub-objects used in making a deep copy. More... | |
| class | base_surface_law_data |
Abstract base class for accessing a surface_law_data with or without the ACIS kernel. More... | |
| class | base_transform_law_data |
Abstract base class for accessing transform_law_data with or without the ACIS kernel. More... | |
| class | base_wire_law_data |
Abstract base class for accessing a wire_law_data with or without the ACIS kernel. More... | |
| class | bend_law |
| Creates a law to bend from a position around an axis in a given direction a specified amount. More... | |
| class | binary_law |
| Provides methods and data for laws that have two sublaws. More... | |
| class | bs3_surface_law |
| The bs3_surface_law's return the SPAposition of the spline approximating surface at the u,v parameters. More... | |
| class | ceil_law |
| Provides methods for the CEILING mathematical function. More... | |
| class | composite_law |
| Constructs the composition of two functions. More... | |
| class | constant_law |
| Creates a law that is constant. More... | |
| class | cos_law |
| Provides methods for the COSINE mathematical function. More... | |
| class | cosh_law |
| Provides methods for the COSH (Hyperbolic Cosine) mathematical function. More... | |
| class | cot_law |
| Provides methods for the COTANGENT mathematical function. More... | |
| class | coth_law |
| Provides methods for the COTH (Hyperbolic Cotangent) mathematical function. More... | |
| class | cross_law |
| Provides methods for the cross product mathematical function. More... | |
| class | csc_law |
| Provides methods for the COSECANT mathematical function. More... | |
| class | csch_law |
| Provides methods for the COSECH (Hyperbolic Cosecant) mathematical function. More... | |
| class | curvature_law |
| This law returns the curvature of the path sub law It is not defined for x's where the path sub law's derivative is undefined. More... | |
| class | curve_law |
| Returns the position on a curve when evaluated. More... | |
| class | curve_law_data |
Serves as a wrapper for an ACIS curve object. More... | |
| class | curveclosest_law |
| Curve closest point. More... | |
| class | curveperp_law |
| Curve point perp. More... | |
| class | dbend_law |
| The derivative of the bend law for space warps. More... | |
| class | dcurve_law |
| Returns a position or one of the derivatives on a curve. More... | |
| class | derivative_law |
| Derivative law. More... | |
| class | division_law |
| Provides methods for the division mathematical function. More... | |
| class | domain_law |
| Domain law. More... | |
| class | dot_law |
| Provides methods for the dot product mathematical function. More... | |
| class | dpcurve_law |
| This law is the same as pcurve_law with an extra law_data field that holds how many derivatives to take. More... | |
| class | dwire_law |
| This law is the same as wire_law with an extra law_data field that holds how many derivatives to take. More... | |
| class | e_law |
| Constant law with e (Eulers Constant). More... | |
| class | equal_law |
| Provides methods for the equal boolean function. More... | |
| class | even_law |
| Provides methods for the even value than boolean function. More... | |
| class | exp_law |
| Provides methods for the EXP mathematical function. More... | |
| class | exponent_law |
| Provides methods for the exponent mathematical function. More... | |
| class | false_law |
| False law. More... | |
| class | floor_law |
| Provides methods for the FLOOR mathematical function. More... | |
| class | frenet_law |
| Describes a vector field for a given curve that points in the direction of curvature. More... | |
| class | gaussian_curvature_law |
| The gaussian_curvature_law's return the Gaussian curvature at the u,v coordinates of the surface. More... | |
| class | greater_than_law |
| Provides methods for the greater than boolean function. More... | |
| class | greater_than_or_equal_law |
| Provides methods for the greater or equal than boolean function. More... | |
| class | identity_law |
| Provides methods and data that return one term of the input value. More... | |
| class | int_law |
| Provides methods for the integer value than boolean function. More... | |
| class | law |
| Serves as the base class for all derived law classes. More... | |
| class | LAW |
| Stores a law mathematics function as an entity for saving to and restoring from a SAT file. More... | |
| class | law_data |
| Serves as a wrapper for ACIS objects, for passing as arguments to laws. More... | |
| class | law_law_data |
| Serves as a wrapper for a law object, for passing into unary and multiple law data classes. More... | |
| class | length_law |
| curve length More... | |
| class | length_param_law |
| curve range More... | |
| class | less_than_law |
| Provides methods for the less than boolean function. More... | |
| class | less_than_or_equal_law |
| Provides methods for the less or equal than boolean function. More... | |
| class | log_law |
| Provides methods for the log mathematical function. More... | |
| class | map_law |
| The map_law takes in a sub_law as its first law_data and a path as its second law_data and its maps the SPAinterval [0,1] to the domain of the given path. More... | |
| class | max_curvature_law |
| The max_curvature_law's return the greater curvature value at the u,v coordinates of the surface. More... | |
| class | max_law |
| Represents the maximum of its component laws. More... | |
| class | mean_curvature_law |
| The mean_curvature_law's return the mean curvature at the u,v coordinates of the surface. More... | |
| class | min_law |
| Represents the minimum of its component laws. More... | |
| class | min_rotation_law |
| The min_rotation_law cashes an array of vectors of size vec_size. More... | |
| class | minus_law |
| Provides methods for the minus, or subtraction, mathematical function. More... | |
| class | mod_law |
| Provides methods for the mod mathematical function. More... | |
| class | multiple_data_law |
| Provides methods and data for laws that have multiple law data members. More... | |
| class | multiple_law |
| Provides methods and data for laws that have multiple sublaws. More... | |
| class | natural_log_law |
| Provides methods for the NATURAL LOG mathematical function. More... | |
| class | negate_law |
| Provides methods for the unary minus, or negation, mathematical function. More... | |
| class | norm_law |
| Provides methods for the normalize mathematical function. More... | |
| class | not_equal_law |
| Provides methods for the not equal than boolean function. More... | |
| class | not_law |
| Provides methods for the not boolean function. More... | |
| class | odd_law |
| Provides methods for the odd value boolean function. More... | |
| class | or_law |
| Provides methods for the OR boolean function. More... | |
| class | path_law_data |
| Serves as a wrapper for either a curve or wire object, for input into a law. More... | |
| class | pcurve_law |
| Creates a law to support parameter curve calculations. More... | |
| class | pcurve_law_data |
Serves as a wrapper for ACIS pcurve objects, for passing them as arguments to laws. More... | |
| class | permanent_domain_law |
| Permanent domain law. More... | |
| class | pi_law |
| Constant PI law. More... | |
| class | piecewise_law |
| The piecewise_law takes a sequence of sub laws of the form c1 s1 c2 s2 . More... | |
| class | plus_law |
| Provides methods for the plus, or addition, mathematical function. More... | |
| class | prime_law |
| Provides methods for the prime value than boolean function. More... | |
| class | rand_law |
| Provides methods for the RANDOM mathematical function. More... | |
| class | rotate_law |
| This law takes in three values and returns three values The first argument to the rotate_law is a law. More... | |
| class | sec_law |
| Provides methods for the SECANT mathematical function. More... | |
| class | sech_law |
| Provides methods for the SECH mathematical function. More... | |
| class | set_law |
| This law returns 1 if the sub law is greater than zero else it returns zero. More... | |
| class | sin_law |
| Provides methods for the SINE mathematical function. More... | |
| class | sinh_law |
| Provides methods for the SINH (Hyperbolic Sine) mathematical function. More... | |
| class | size_law |
| Size law. More... | |
| class | sqrt_law |
| Provides methods and data for the square root mathematical function. More... | |
| class | step_law |
| The step_law always takes an odd number of sub laws starting at zero the odd numbered (i.e. More... | |
| class | surface_law |
| Returns the position on a surface. More... | |
| class | surface_law_data |
Serves as a wrapper for ACIS surface objects. More... | |
| class | surfnorm_law |
| Composes a law mathematical function that returns the normal to a surface at a given position. More... | |
| class | surfperp_law |
| Surface point perp. More... | |
| class | surfvec_law |
| Surface vector law. More... | |
| class | tan_law |
| Provides methods for the TANGENT mathematical function. More... | |
| class | tanh_law |
| Provides methods for the TANH (Hyperbolic Tangent) mathematical function. More... | |
| class | term_law |
| Provides methods for the term mathematical function that returns a single dimensional element of a multidimensional function. More... | |
| class | times_law |
| Provides methods for the times, or multiplication, mathematical function. More... | |
| class | transform_law |
| Applies an ACIS transform to a law that returns a three dimensional position. More... | |
| class | transform_law_data |
Serves as a wrapper for an ACIS SPAtransf object. More... | |
| class | true_law |
| True law. More... | |
| class | twist_path_law |
| The twist_law constructor takes three laws A SPAvector field to twist (i.e the zero twist value or rail_law) A curve_law to twist it around and a twist_law that gives the angle of twist in radians. More... | |
| class | unary_data_law |
| Provides methods and data for laws that have one law data member. More... | |
| class | unary_law |
| Provides methods and data for laws that have one sublaw. More... | |
| class | unbend_law |
| The unbend law for space warps. More... | |
| class | vector_law |
| Combines one dimensional laws into a multi-dimensional law. More... | |
| class | wire_law |
| Wire_law's return the parametric postion of a wire where the parameterization has been scaled to the length of each of the sub coedges and starts at zero and ends at the length of the wire. More... | |
| class | wire_law_data |
Serves as a wrapper for an ACIS WIRE object. More... | |
Defines | |
| #define | ASSOCIATIVE 1 |
| Law type. | |
| #define | COMMUTATIVE 1 |
| Law type. | |
| #define | LAW_TYPE_BOUNDED 13 |
| Law type. | |
| #define | LAW_TYPE_CONSTANT 3 |
| Law type. | |
| #define | LAW_TYPE_CONTINUIOUS 12 |
| Law type. | |
| #define | LAW_TYPE_G_1 11 |
| Law type. | |
| #define | LAW_TYPE_G_2 10 |
| Law type. | |
| #define | LAW_TYPE_G_3 9 |
| Law type. | |
| #define | LAW_TYPE_G_4 8 |
| Law type. | |
| #define | LAW_TYPE_G_5 7 |
| Law type. | |
| #define | LAW_TYPE_G_INFINITY 6 |
| Law type. | |
| #define | LAW_TYPE_INTEGER 2 |
| Law type. | |
| #define | LAW_TYPE_LINEAR 4 |
| Law type. | |
| #define | LAW_TYPE_POLYNOMIAL 5 |
| Law type. | |
| #define | LAW_TYPE_RATIONAL 14 |
| Law type. | |
| #define | LAW_TYPE_UNKNOWN 0 |
| Law type. | |
| #define | LAW_TYPE_ZERO 1 |
| Law type. | |
| #define | NOT_ASSOCIATIVE 0 |
| Law type. | |
| #define | NOT_COMMUTATIVE 0 |
| Law type. | |
| #define | PRECEDEDCE_AND 2 |
| Law precedence level. | |
| #define | PRECEDEDCE_NOT 3 |
| Law precedence level. | |
| #define | PRECEDEDCE_OR 1 |
| Law precedence level. | |
| #define | PRECEDENCE_CONSTANT 9 |
| Law precedence level. | |
| #define | PRECEDENCE_EQUAL 4 |
| Law precedence level. | |
| #define | PRECEDENCE_FUNCTION 8 |
| Law precedence level. | |
| #define | PRECEDENCE_PLUS 5 |
| Law precedence level. | |
| #define | PRECEDENCE_POWER 7 |
| Law precedence level. | |
| #define | PRECEDENCE_TIMES 6 |
| Law precedence level. | |
Functions | |
| outcome | api_hedgehog (law *field, law *base, double *starts, double *ends, int dim, int *hairs, ENTITY_LIST &return_item, AcisOptions *ao=NULL) |
Creates a DL_item list of hairs to show a vector field. | |
| outcome | api_integrate_law (law *input_law, double start, double end, double &answer, double tolerance=1E-12, int min_level=2, int *used_level=NULL) |
| Integrates a law over a given domain to a given tolerance. | |
| outcome | api_integrate_law_wrt (law *input_law, double start, double end, int wrt, double *along, double &answer, double tolerance=1E-12, int min_level=2, int *used_level=NULL) |
| Integrates a law over a given domain to a given tolerance, with respect to a given variable. | |
| outcome | api_integrate_law_wrt_and_splits (law *input_law, double start, double end, int wrt, double *along, double &answer, int number_of_splits=0, double *splits=NULL, double tolerance=1E-12, int min_level=2, int *used_level=NULL) |
| Integrates a law over a given domain to a given tolerance, with respect to a given variable and an array of points used to split the domain. | |
| outcome | api_law_to_entity (law *input_law, ENTITY *&out_ent, AcisOptions *ao=NULL) |
| Converts a law mathematic function into an entity for the purposes of saving to and restoring from a SAT file. | |
| outcome | api_make_cubic (double aval, double bval, double faval, double fbval, double ffaval, double ffbval, law *&answer) |
| Creates a cubic law given {a,b,f(a),f(b),f'(a),f'(b)}. | |
| outcome | api_make_linear (double aval, double bval, double faval, double fbval, law *&answer) |
| Creates a linear law given {a,b,f(a),f(b)}. | |
| outcome | api_make_polynomial_law (double *coeff, int degree, law *&answer) |
| Creates a polynomial law. | |
| outcome | api_make_quintic (double aval, double bval, double faval, double fbval, double ffaval, double ffbval, double fffaval, double fffbval, law *&answer) |
| Creates a quintic law given {a,b,f(a),f(b),f'(a),f'(b) f''(a) f''(b)}. | |
| outcome | api_make_rails (ENTITY *path, law **&rails, int &number_of_rails, law **axis=NULL, FACE **faces=NULL, law **user_rails=NULL, law *twist_law=NULL, AcisOptions *ao=NULL, SPAunit_vector const &in_rigid_tangent=*(const class SPAunit_vector *) NULL_REF) |
| Creates the default rail laws for sweeping along a wire. | |
| outcome | api_ndifferentiate_law (law *input_law, double *where, int which_dim, double *answer, int type=0, int times=1) |
| Numerically differentiates a law at a given point with respect to a given variable a given number of times. | |
| outcome | api_nmax_of_law (law *input_law, double start, double end, double *answer) |
| Gets the maximum value of a given law over the given domain. | |
| outcome | api_nmin_of_law (law *input_law, double start, double end, double *answer) |
| Gets the minimum value of a given law over the given domain. | |
| outcome | api_nroots_of_law (law *input_law, double start, double end, int *size, double **answer) |
| Gets all the roots of the given law over the given domain. | |
| outcome | api_nsolve_laws (law *input_law1, law *input_law2, double start, double end, int *size, double **answer) |
| Determines where two given laws are equal within a given domain. | |
| outcome | api_str_to_law (const char *str, law **answer, law_data **data=NULL, int size=0, AcisOptions *ao=NULL) |
| Creates a law from a string and an optional array of law data. | |
| base_curve_law_data::base_curve_law_data (double in_start=0, double in_end=0) | |
Constructs a base_curve_law_data. | |
| base_pcurve_law_data::base_pcurve_law_data (double in_start=0, double in_end=0) | |
Constructs a base_pcurve_law_data. | |
| base_surface_law_data::base_surface_law_data () | |
Constructs a base_surface_law_data. | |
| base_wire_law_data::base_wire_law_data (double in_start=0, double in_end=0) | |
Constructs a base_wire_law_data. | |
| logical | initialize_law () |
| Initializes the law library. | |
| int | new_law_id () |
| Creates a unique id number for the given law, which is used for type identification. | |
| logical | terminate_law () |
| Terminates the law library. | |
| #define ASSOCIATIVE 1 |
Law type.
| #define COMMUTATIVE 1 |
Law type.
| #define LAW_TYPE_BOUNDED 13 |
Law type.
| #define LAW_TYPE_CONSTANT 3 |
Law type.
| #define LAW_TYPE_CONTINUIOUS 12 |
Law type.
| #define LAW_TYPE_G_1 11 |
Law type.
| #define LAW_TYPE_G_2 10 |
Law type.
| #define LAW_TYPE_G_3 9 |
Law type.
| #define LAW_TYPE_G_4 8 |
Law type.
| #define LAW_TYPE_G_5 7 |
Law type.
| #define LAW_TYPE_G_INFINITY 6 |
Law type.
| #define LAW_TYPE_INTEGER 2 |
Law type.
| #define LAW_TYPE_LINEAR 4 |
Law type.
| #define LAW_TYPE_POLYNOMIAL 5 |
Law type.
| #define LAW_TYPE_RATIONAL 14 |
Law type.
| #define LAW_TYPE_UNKNOWN 0 |
Law type.
| #define LAW_TYPE_ZERO 1 |
Law type.
| #define NOT_ASSOCIATIVE 0 |
Law type.
| #define NOT_COMMUTATIVE 0 |
Law type.
| #define PRECEDEDCE_AND 2 |
Law precedence level.
| #define PRECEDEDCE_NOT 3 |
Law precedence level.
| #define PRECEDEDCE_OR 1 |
Law precedence level.
| #define PRECEDENCE_CONSTANT 9 |
Law precedence level.
| #define PRECEDENCE_EQUAL 4 |
Law precedence level.
| #define PRECEDENCE_FUNCTION 8 |
Law precedence level.
| #define PRECEDENCE_PLUS 5 |
Law precedence level.
| #define PRECEDENCE_POWER 7 |
Law precedence level.
| #define PRECEDENCE_TIMES 6 |
Law precedence level.
| outcome api_hedgehog | ( | law * | field, | |
| law * | base, | |||
| double * | starts, | |||
| double * | ends, | |||
| int | dim, | |||
| int * | hairs, | |||
| ENTITY_LIST & | return_item, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a DL_item list of hairs to show a vector field.
Role: Field is a law specifying the vectors to show (the hairs). base is a law specifying where the roots of the hairs lie.
dim specifies whether a one-dimensional, two-dimensional, or three-dimensional array of hairs is produced.
starts and ends are arrays of one, two, or three start points and end points, depending on dim.
hairs is an array containing one, two, or three values, depending on dim, specifying how many hairs are to be created between the start and end points.
return_item contains the list of hairs for display.
Effect: Read-only
Journal: Not Available
| field | vector field. | |
| base | base of field. | |
| starts | min value in each dimension. | |
| ends | max value in each dimension. | |
| dim | size of starts and ends. | |
| hairs | number of hairs in each dimension. | |
| return_item | list of hairs returned. | |
| ao | acis options. |
include <hog_api.hxx>
| outcome api_integrate_law | ( | law * | input_law, | |
| double | start, | |||
| double | end, | |||
| double & | answer, | |||
| double | tolerance = 1E-12, |
|||
| int | min_level = 2, |
|||
| int * | used_level = NULL | |||
| ) |
Integrates a law over a given domain to a given tolerance.
Effect: Read-only.
Journal: Not Available
| input_law | the law to be integrated. | |
| start | start of the domain of integration. | |
| end | end of the domain of integration. | |
| answer | result of the integration. | |
| tolerance | (optional) tolerance for the accuracy of the result. | |
| min_level | (optional) minimum Romberg Table rows. | |
| used_level | (optional) number of Romberg rows returned. |
include <kernapi.hxx>
| outcome api_integrate_law_wrt | ( | law * | input_law, | |
| double | start, | |||
| double | end, | |||
| int | wrt, | |||
| double * | along, | |||
| double & | answer, | |||
| double | tolerance = 1E-12, |
|||
| int | min_level = 2, |
|||
| int * | used_level = NULL | |||
| ) |
Integrates a law over a given domain to a given tolerance, with respect to a given variable.
Effect: Read-only.
Journal: Not Available
| input_law | the law to be integrated. | |
| start | start of the domain of integration. | |
| end | end of the domain of integration. | |
| wrt | variable over which to integrate. | |
| along | an array (the size of the take dim of the law) that gives the values for all variables other than the integration variable. | |
| answer | result of the integration. | |
| tolerance | (optional) tolerance for the accuracy of the result. | |
| min_level | (optional) minimum Romberg Table rows. | |
| used_level | (optional) number of Romberg rows returned. |
include <kernapi.hxx>
| outcome api_integrate_law_wrt_and_splits | ( | law * | input_law, | |
| double | start, | |||
| double | end, | |||
| int | wrt, | |||
| double * | along, | |||
| double & | answer, | |||
| int | number_of_splits = 0, |
|||
| double * | splits = NULL, |
|||
| double | tolerance = 1E-12, |
|||
| int | min_level = 2, |
|||
| int * | used_level = NULL | |||
| ) |
Integrates a law over a given domain to a given tolerance, with respect to a given variable and an array of points used to split the domain.
Role: During the integration the function will take into account an array of points into which to split the domain. This function should be used if the domain contains known singularities.
Effect: Read-only.
Journal: Not Available
| input_law | the law to be integrated. | |
| start | start of the domain of integration. | |
| end | end of the domain of integration. | |
| wrt | variable over which to integrate. | |
| along | an array (the size of the take dim of the law) that gives the values for all variables other than the integration variable. | |
| answer | result of the integration. | |
| number_of_splits | (optional) number of singularities. | |
| splits | (optional) number of splits. | |
| tolerance | (optional) tolerance for the accuracy of the result. | |
| min_level | (optional) minimum Romberg Table rows. | |
| used_level | (optional) number of Romberg rows returned. |
include <kernapi.hxx>
| outcome api_law_to_entity | ( | law * | input_law, | |
| ENTITY *& | out_ent, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Converts a law mathematic function into an entity for the purposes of saving to and restoring from a SAT file.
Role: Law mathematic functions that are used for the analysis of a design are not normally saved to the SAT file. Typically, only laws that are attached to model entities through geometry definitions are saved to the SAT file. In order to make laws more persistent and to share them from session to session, they can be turned into LAW instances, which being derived from ENTITY can be saved and restored.
Effect: Changes model.
Journal: Available
| input_law | the law function to be converted. | |
| out_ent | the resulted entity into which the law is converted. | |
| ao | ACIS options. |
include <kernapi.hxx>
| outcome api_make_cubic | ( | double | aval, | |
| double | bval, | |||
| double | faval, | |||
| double | fbval, | |||
| double | ffaval, | |||
| double | ffbval, | |||
| law *& | answer | |||
| ) |
Creates a cubic law given {a,b,f(a),f(b),f'(a),f'(b)}.
Role: Produces a cubic polynomial with given boundary conditions for both it and its first derivative. The user supplies the boundary values a and b, the desired output of the law at a and b (e.g., f_a and f_b), and the desired output of the first derivative at a and b (e.g., df_a and df_b). The result is a cubic polynomial meeting these boundary conditions.
F(a) = fa. F(b) = fb. F'(a) = ffa. F'(b) = ffb.Effect: Changes model
| aval | a value. | |
| bval | b value. | |
| faval | f at a. | |
| fbval | f at b. | |
| ffaval | deriv of f at a. | |
| ffbval | deriv of f at b. | |
| answer | ptr to law. |
include <kernapi.hxx>
Creates a linear law given {a,b,f(a),f(b)}.
Role: Produces a linear polynomial with given boundary conditions for both its output. The user supplies the boundary values a and b and the desired output of the law at a and b (e.g., f_a and f_b). The result is a linear polynomial meeting these boundary conditions.
Effect: Changes model
Journal: Not Available
| aval | a value. | |
| bval | b value. | |
| faval | f at a. | |
| fbval | f at b. | |
| answer | ptr to law. |
include <kernapi.hxx>
Creates a polynomial law.
Role: Given an array of coefficients and the maximum degree for the polynomial, this creates a law that represents the associated polynomial.
Effect: Read-only
Journal: Not Available
| coeff | array of coefficients. | |
| degree | maximum degree of polynomial. | |
| answer | ptr to law. |
include <kernapi.hxx>
| outcome api_make_quintic | ( | double | aval, | |
| double | bval, | |||
| double | faval, | |||
| double | fbval, | |||
| double | ffaval, | |||
| double | ffbval, | |||
| double | fffaval, | |||
| double | fffbval, | |||
| law *& | answer | |||
| ) |
Creates a quintic law given {a,b,f(a),f(b),f'(a),f'(b) f''(a) f''(b)}.
Role: Produces a quintic polynomial with given boundary conditions for it, its first derivative, and its second derivative. The user supplies the boundary values a and b, the desired output of the law at a and b (e.g., f_a and f_b), the desired output of the first derivative at a and b (e.g., df_a and df_b), and the desired output of the second derivative at a and b (e.g., ddf_a and ddf_b). The result is a quintic polynomial meeting these boundary conditions.
F(a) = fa. F(b) = fb. F'(a) = ffa. F'(b) = ffb. F''(a) = fffa. F''(b) = fffb.Effect: Read-only
| aval | a value. | |
| bval | b value. | |
| faval | f at a. | |
| fbval | f at b. | |
| ffaval | 1st deriv of f at a. | |
| ffbval | 1st deriv of f at b. | |
| fffaval | 2nd deriv of f at a. | |
| fffbval | 2nd deriv of f at b. | |
| answer | ptr to law. |
include <kernapi.hxx>
| outcome api_make_rails | ( | ENTITY * | path, | |
| law **& | rails, | |||
| int & | number_of_rails, | |||
| law ** | axis = NULL, |
|||
| FACE ** | faces = NULL, |
|||
| law ** | user_rails = NULL, |
|||
| law * | twist_law = NULL, |
|||
| AcisOptions * | ao = NULL, |
|||
| SPAunit_vector const & | in_rigid_tangent = *(const class SPAunit_vector *) NULL_REF | |||
| ) |
Creates the default rail laws for sweeping along a wire.
Role: This produces an array of rail laws that can be used by sweeping in the sweep options. A single rail law is produced if path is a single edge or a wire with a single underlying edge. Otherwise, it creates multiple rail laws, one for each underlying edge in path.
The only required argument is path. If no other arguments are supplied, then default rails are created. The default for the creation of rails is:
path is composed of multiple pieces, such as a wire with more than one underlying edge, then array arguments must supply the same number of elements as the number of path elements. They may pad their array with NULL arguments. axis argument is used for path segments that have an implied center axis. An example of this might be a helix, an expanding helix, or the coil of a telephone handset cable. The axis argument is the derivative of the implied center axis, which tells the implied axis direction. When the axis is supplied, then its cross product with the path is returned. The axis array can be padded with NULL for sections of the path that do not have an implied axis. face argument is used when a portion of the path segments borders a non-analytic face. The coedge of the wire provided as path must actually belong to the face entity supplied. The face must be non-analytic. The resulting rail is oriented to the face normal. The face array can be padded with NULL for sections of the path that do not have such a face. user_rails argument permits any default rail for a given section of the path to be overridden by the user-supplied law in the array. The user_rails array can be padded with NULL for sections of the path that are to use the default. twist argument works on the whole rail array. After the other rail parameters have been input and calculated, the law provided by twist operates on the whole set of rails. This takes in an angle of twist per distance along the path. | path | a WIRE or EDGE. | |
| rails | array of rail laws returned. | |
| number_of_rails | number of rail laws returned. | |
| axis | optional axis in an array. | |
| faces | optional faces in an array. | |
| user_rails | optional user defined rails. | |
| twist_law | optional twist law. | |
| ao | ACIS options. |
include <kernapi.hxx>
| outcome api_ndifferentiate_law | ( | law * | input_law, | |
| double * | where, | |||
| int | which_dim, | |||
| double * | answer, | |||
| int | type = 0, |
|||
| int | times = 1 | |||
| ) |
Numerically differentiates a law at a given point with respect to a given variable a given number of times.
Role: The derivative may be taken from both sides or just from the left or right.
Effect: Read-only.
Journal: Not Available
| input_law | the law to differentiate. | |
| where | where to take the derivative. | |
| which_dim | which variable to take the derivative with respect to. | |
| answer | the result of the differentiation. | |
| type | 0 = normal, 1 = from the left, 2 = from the right. | |
| times | how many times to take the derivative. |
include <kernapi.hxx>
Gets the maximum value of a given law over the given domain.
Effect: Read-only.
Journal: Not Available
| input_law | law whose maximum is desired. | |
| start | start of the domain. | |
| end | end of the domain. | |
| answer | returns the location of maximum value within the domain. |
include <kernapi.hxx>
Gets the minimum value of a given law over the given domain.
Effect: Read-only.
Journal: Not Available
| input_law | law whose minimum is desired. | |
| start | start of the domain. | |
| end | end of the domain. | |
| answer | returns the location of the minimum value within the domain. |
include <kernapi.hxx>
| outcome api_nroots_of_law | ( | law * | input_law, | |
| double | start, | |||
| double | end, | |||
| int * | size, | |||
| double ** | answer | |||
| ) |
Gets all the roots of the given law over the given domain.
Effect: Read-only.
Journal: Not Available
| input_law | law whose roots are desired. | |
| start | start of the domain. | |
| end | end of the domain. | |
| size | returns the number of roots that were found. | |
| answer | returns the roots. |
include <kernapi.hxx>
| outcome api_nsolve_laws | ( | law * | input_law1, | |
| law * | input_law2, | |||
| double | start, | |||
| double | end, | |||
| int * | size, | |||
| double ** | answer | |||
| ) |
Determines where two given laws are equal within a given domain.
Limitations: The number of points at which the two laws are equal must be finite.
Effect: Read-only.
Journal: Not Available
| input_law1 | first law. | |
| input_law2 | second law. | |
| start | start of the domain. | |
| end | end of the domain. | |
| size | returns the number of points at which the two laws are equal. | |
| answer | returns the set of points at which the two laws are equal. |
include <kernapi.hxx>
| outcome api_str_to_law | ( | const char * | str, | |
| law ** | answer, | |||
| law_data ** | data = NULL, |
|||
| int | size = 0, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a law from a string and an optional array of law data.
Role: This API parses a character string (str), generates the associated law classes, and returns a pointer to the top-level law that was created (answer). Deriving the law class and all associated classes individually is possible. However, it is more likely that api_str_to_law and law string parsing will be employed, because it is easier and more straightforward to implement.
The valid syntax for the character strings (str) in the law mathematical functions are given in the law symbol templates. The law mathematical functions support nesting of law symbols. Once the character string (str) has been created, it is passed to api_str_to_law along with a pointer to an output law (answer), an array of law data (data), and the size of the law data array (size).
The unary_law, binary_law, and multiple_law classes are used if the application is passing only laws into a law class, in which case it becomes a pointer to a law or an array of pointers to laws, respectively. Numbers, positions, parametric positions, vectors, and vector fields, in addition to the law symbols, are passed as input to the api_str_to_law and become laws for these purposes.
On the other hand, the unary_data_law and multiple_data_law classes are used if the application is passing more complicated structures into a law class. These could be curves, wires, surfaces, transforms, or even laws. Instead of having a pointer to a law or an array of pointers to laws, the unary_data_law and multiple_data_law classes have a pointer to a law_data class or an array of pointers to law_data classes, respectively.
Effect: Read-only.
Journal: Not Available
| str | string of the law to be created. | |
| answer | returns the created law. | |
| data | array of supporting data used in the law creation. | |
| size | size of the law data array. | |
| ao | ACIS options. |
include <kernapi.hxx>
| base_curve_law_data::base_curve_law_data | ( | double | in_start = 0, |
|
| double | in_end = 0 | |||
| ) | [inline, inherited] |
| base_pcurve_law_data::base_pcurve_law_data | ( | double | in_start = 0, |
|
| double | in_end = 0 | |||
| ) | [inline, inherited] |
| base_surface_law_data::base_surface_law_data | ( | ) | [inline, inherited] |
Constructs a base_surface_law_data.
| base_wire_law_data::base_wire_law_data | ( | double | in_start = 0, |
|
| double | in_end = 0 | |||
| ) | [inline, inherited] |
| logical initialize_law | ( | ) |
| int new_law_id | ( | ) |
Creates a unique id number for the given law, which is used for type identification.
Role: The id number this function creates is unique for the currently defined laws in the system. It is not persistent and is not saved to SAT. It is used mostly for law type identification. This function is never called directly by an application.It is used internally by the law system. This is called by law member functions. It returns a unique number which is used by the id method of the respective law class.
Effect: System routine
include <law_base.hxx>
| logical terminate_law | ( | ) |