curve_law_data with or without the ACIS kernel.
More...
#include <law_data.hxx>


Public Member Functions | |
| void | add () |
Increments the use count of this law_data. | |
| base_curve_law_data (double in_start=0, double in_end=0) | |
Constructs a base_curve_law_data. | |
| virtual double | curvature (double para)=0 |
| Returns the curvature of the path at the given parameter. | |
| double | data_end () |
| Returns the ending parameter of the path. | |
| double | data_start () |
| Returns the starting parameter of the path. | |
| virtual int | date () |
Returns the version of ACIS in which this law_data class first appeared. | |
| virtual law_data * | deep_copy (base_pointer_map *pm=NULL) const =0 |
| Creates a copy of an item that does not share any data with the original. | |
| virtual SPAvector | eval (double para, int deriv, int side=0)=0 |
| This method evaluates the nth derivative of the given law at the specified parameter value. | |
| virtual law * | law_form ()=0 |
Returns a pointer to the law class used as part of the base_curve_law_data. | |
| virtual double | length (double start, double end)=0 |
| Returns the distance between the two parameters. | |
| virtual double | length_param (double base, double length)=0 |
| Returns the parameter value at the end point. | |
| virtual double | point_perp (SPAposition in_point, double in_t)=0 |
| Finds the point on the curve nearest to the given point, given a guess as to its value. | |
| virtual double | point_perp (SPAposition in_point)=0 |
| Finds the point on the curve nearest to the given point. | |
| int | ref_count () |
Returns the use count of this law_data. | |
| void | remove () |
Decrements the use count of this law_data, and deletes the law_data when the count drops to zero. | |
| virtual law_data * | restore () |
Returns NULL. | |
| virtual void | save ()=0 |
Saves the law_data with its encapsulated data. | |
| virtual law_data * | set_domain (SPAinterval *new_domain) |
Sets the domain of this law_data to the given interval. | |
| virtual int | singularities (double **where, int **type, double start, double end) |
Specifies where in this law_data there might be discontinuities. | |
| virtual char * | string (law_symbol_type type=DEFAULT, int &count=*(int *) NULL_REF, law_data_node *&ldn=*(law_data_node **) NULL_REF) |
Returns a string that represents this law_data. | |
| virtual const char * | symbol (law_symbol_type type=DEFAULT)=0 |
Returns the string that represents this law_data's symbol. | |
Protected Attributes | |
| double | end |
| The ending parameter value of the path. | |
| double | start |
| The starting parameter value of the path. | |
curve_law_data with or without the ACIS kernel. | void law_data::add | ( | ) | [inherited] |
| virtual double path_law_data::curvature | ( | double | para | ) | [pure virtual, inherited] |
Returns the curvature of the path at the given parameter.
| para | parameter for test. |
Implemented in wire_law_data, curve_law_data, and pcurve_law_data.
| double path_law_data::data_end | ( | ) | [inline, inherited] |
Returns the ending parameter of the path.
| double path_law_data::data_start | ( | ) | [inline, inherited] |
Returns the starting parameter of the path.
| virtual int law_data::date | ( | ) | [virtual, inherited] |
Returns the version of ACIS in which this law_data class first appeared.
Role: If a law_data is part of a model that is to be saved at a previous ACIS release level, this is used to indicate whether the law can be saved or not.
Reimplemented in law_law_data.
| virtual law_data* law_data::deep_copy | ( | base_pointer_map * | pm = NULL |
) | const [pure virtual, inherited] |
Creates a copy of an item that does not share any data with the original.
Role: Allocates new storage for all member data and any pointers. Returns a pointer to the copied item.
In a deep copy, all the information about the copied item is self-contained in a new memory block. By comparison, a shallow copy stores only the first instance of the item in memory, and increments the reference count for each copy.
The pointer_map keeps a list of all pointers in the original object that have already been deep-copied. For example, a deep_copy of a complex model results in self contained data, but identical sub-parts within the model are allowed to share a single set of data.
| pm | list of items within the entity that are already deep copied. |
Implemented in wire_law_data, curve_law_data, pcurve_law_data, surface_law_data, law_law_data, and base_transform_law_data.
| virtual SPAvector path_law_data::eval | ( | double | para, | |
| int | deriv, | |||
| int | side = 0 | |||
| ) | [pure virtual, inherited] |
This method evaluates the nth derivative of the given law at the specified parameter value.
Role: For convenience, all law classes inherit this method. It calls the main evaluate member function and does some checking using take_dim and return_dim.
| para | parameter position. | |
| deriv | number of derivatives. | |
| side | left (-1) or right (1) - default = 0. |
Implemented in wire_law_data, curve_law_data, and pcurve_law_data.
| virtual law* base_curve_law_data::law_form | ( | ) | [pure virtual] |
Returns a pointer to the law class used as part of the base_curve_law_data.
Implemented in curve_law_data.
| virtual double base_curve_law_data::length | ( | double | start, | |
| double | end | |||
| ) | [pure virtual] |
Returns the distance between the two parameters.
| start | start param. | |
| end | end param. |
Implemented in curve_law_data.
| virtual double base_curve_law_data::length_param | ( | double | base, | |
| double | length | |||
| ) | [pure virtual] |
Returns the parameter value at the end point.
| base | starting parameter. | |
| length | distance to end. |
Implemented in curve_law_data.
| virtual double base_curve_law_data::point_perp | ( | SPAposition | in_point, | |
| double | in_t | |||
| ) | [pure virtual] |
Finds the point on the curve nearest to the given point, given a guess as to its value.
| in_point | point. | |
| in_t | parameter. |
Implemented in curve_law_data.
| virtual double base_curve_law_data::point_perp | ( | SPAposition | in_point | ) | [pure virtual] |
Finds the point on the curve nearest to the given point.
| in_point | point. |
Implemented in curve_law_data.
| int law_data::ref_count | ( | ) | [inline, inherited] |
Returns the use count of this law_data.
| void law_data::remove | ( | ) | [inherited] |
| virtual law_data* law_data::restore | ( | ) | [virtual, inherited] |
Returns NULL.
| virtual void law_data::save | ( | ) | [pure virtual, inherited] |
Saves the law_data with its encapsulated data.
Implemented in wire_law_data, curve_law_data, pcurve_law_data, surface_law_data, transform_law_data, and law_law_data.
| virtual law_data* law_data::set_domain | ( | SPAinterval * | new_domain | ) | [virtual, inherited] |
Sets the domain of this law_data to the given interval.
| new_domain | the new domain. |
Reimplemented in curve_law_data, surface_law_data, and law_law_data.
| virtual int path_law_data::singularities | ( | double ** | where, | |
| int ** | type, | |||
| double | start, | |||
| double | end | |||
| ) | [virtual, inherited] |
Specifies where in this law_data there might be discontinuities.
Role: The array where notes where the discontinuity occurs. The type indicates 0 if there is a discontinuity, 1 if the discontinuity in the 1st derivative, and any integer n if the discontinuity is in the nth derivative. The value -1 means that the type is not defined.
| where | where discontinuities exist. | |
| type | discontinuity types. | |
| start | start parameter. | |
| end | end parameter. |
Reimplemented in wire_law_data, curve_law_data, and pcurve_law_data.
| virtual char* law_data::string | ( | law_symbol_type | type = DEFAULT, |
|
| int & | count = *(int *) NULL_REF, |
|||
| law_data_node *& | ldn = *(law_data_node **) NULL_REF | |||
| ) | [virtual, inherited] |
Returns a string that represents this law_data.
Role: The law function is composed of its symbol, associated parentheses, and the strings associated with its sublaws. It is provided as a user-friendly interface to laws. A derived class must override this function to be able to save a law_data.
| type | type of symbol - standard ACIS type. | |
| count | count. | |
| ldn | law data node. |
Reimplemented in law_law_data.
| virtual const char* law_data::symbol | ( | law_symbol_type | type = DEFAULT |
) | [pure virtual, inherited] |
Returns the string that represents this law_data's symbol.
Role: This is a pure virtual method, forcing derived classes to define their own versions of this method. Hence, this method is called from the derived class and not from this abstract class.
| type | type of symbol - standard ACIS type. |
Implemented in wire_law_data, curve_law_data, pcurve_law_data, surface_law_data, transform_law_data, and law_law_data.
double path_law_data::end [protected, inherited] |
The ending parameter value of the path.
double path_law_data::start [protected, inherited] |
The starting parameter value of the path.