This is PFunction.h in view mode; [Download] [Up]
/* PFunction.h by Paul Kunz November 1992
* Class to manage a plot function
*
* Copyright (C) 1992 The Board of Trustees of
* The Leland Stanford Junior University. All Rights Reserved.
*/
#define PFUNCTION_H_ID "$Id: PFunction.h,v 2.15.2.1 1994/02/08 20:30:02 rensing Exp $"
#import <objc/Object.h>
#import "hippo.h"
#import "fitParm.h"
typedef enum { INITIAL_VALUES, FIT_VALUES, PLAY_VALUES } parm_t;
@class Form, Storage;
@class Plot;
@interface PFunction:Object
{
/* Archived members... */
char *title; /* Title of function */
int nargs; /* Number of Arguments */
char **names; /* Argument names */
parm_t currentParms; /* the current parameter type in parmblk */
Storage *fittedParms; /* parameters from last fit */
Storage *startParms; /* parameters at start of last fit */
Storage *variedParms; /* parameters being varied */
int fitType; /* fit type used in fit */
int ebType; /* empty-bin action code */
int hfunc_index; /* index of hfunc in display list */
/* filled only at write, used after read */
/* Working members... */
NXStream *codeStream; /* Copy of the source code */
char *filename; /* Source code file name */
display disp; /* hippo display structure */
func_id hfunc; /* hippo function block */
double *parmblk; /* parameter block used by hippo */
void (*fp)(); /* pointer to function */
}
+ initialize;
/* set version number for class */
- setTitle:(const char *)string;
/* Sets the title of the function */
- (const char *)title;
/* Returns tht title of the function. */
- setFunctionPtr:(void *)ptr;
/* Sets the function pointer. */
- (void *) functionPtr;
/* Returns the function pointer. */
- registerFunc;
/*
* Registers the controlled function with hippo function registery.
* Must be called after title and function pointer are set.
*/
- setNumberArgs:(int) value;
/* Sets the number of arguments */
- (int) numberArgs;
/* Returns the number of arguments for the function */
- setArgName:(const char *)string at:(int)i;
/* Sets the name of the i-th argument. */
- (const char *) argNameAt:(int) i;
/* Returns the i-th argument name. */
- setFitType:(int *)ivalue;
/*
* Sets the fitType to be used in a fit.
*/
- (int) fitType;
/*
* Returns the fit type.
*/
- setEbType:(int *)ivalue;
/*
* Sets the empty bin action to be used in a fit.
*/
- (int) ebType;
/*
* Returns the empty-bin action.
*/
- setFuncLineStyle:(int *)ivalue;
/*
* Sets the function plot linestyle.
*/
- (int) funcLineStyle;
/*
* Returns the function plot linestyle.
*/
/* Methods to attach to display */
- resetAfterRead:aPlot;
/*
* Pick up stuff from the hippo function block after read.
*/
- addToPlot:aPlot;
/*
* Receiving PFunction adds its function to the display structure of
* aPlot and stores the resulting hippo func_id and the parameter block
* that was allocated.
*/
- removeFromPlot:(Plot *)aPlot;
/*
* Removes the receiving function from aPlot and frees the parmblk.
*/
- setInitialValues;
/*
* Initializes fitting parameters to default initial values.
* Override method initialValues to make smarter guesses
*/
- initialValues;
/*
* user routine to set initial values
* does not need to do anything
*/
- copyToInitial:(parm_t *) type;
- copyToFitted:(parm_t *) type;
- copyToVaried:(parm_t *) type;
/*
* Makes the varied parameters a copy of the type type. Note
* passing the pointer of type allows its use with makeObjectsPerform
* with a List of functions.
*/
- resetParms;
/*
* Resets the parameter block to the current parameter type.
*/
- updateFromType:(parm_t *) type;
/*
* Updates the hippo parameter block for all parameters
*/
- (parm_t) currentType;
/*
* Returns the parameter type currently used by the plot function.
*/
- (Storage *) parmListOfType:(parm_t) type;
/*
* Returns parameter Storage object of type type. The types are
* 0= starting, 1= Fitted, and 2= varied.
*/
- updateParm:(double) value at:(int) index;
/*
* Updates the parameter block of function with value at index.
* Does not update the Storage object.
*/
- setFloatValue:(float) aValue at:(int) index;
- (const char *)filename;
/*
* Returns the filename of the source file.
*/
- readFile:(const char *)directory :(const char *)file;
/*
* Reads the source file into memory, so that it can be stored,
* if needed, to document directory later.
*/
- writeFile:(const char *)directory :(const char *)file;
/*
* Write the source code to file in directory.
*/
- write:(NXTypedStream *)stream;
- read:(NXTypedStream *)stream;
- free;
/*
* Free the receiving object and all storage associated with it.
*/
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.