diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2018-09-21 17:02:41 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2018-09-21 17:02:41 (GMT) |
commit | bd7d67f66c53df36bb50e3423bfc91eae8618201 (patch) | |
tree | 343b06f7a9f2decdfa8d3e4aae885be3e909aa14 /ast/frameset.h | |
parent | f2f490ba0f98917b590fd7e538b9514e4119e640 (diff) | |
download | blt-bd7d67f66c53df36bb50e3423bfc91eae8618201.zip blt-bd7d67f66c53df36bb50e3423bfc91eae8618201.tar.gz blt-bd7d67f66c53df36bb50e3423bfc91eae8618201.tar.bz2 |
update ast
Diffstat (limited to 'ast/frameset.h')
-rw-r--r-- | ast/frameset.h | 714 |
1 files changed, 0 insertions, 714 deletions
diff --git a/ast/frameset.h b/ast/frameset.h deleted file mode 100644 index 6629cfb..0000000 --- a/ast/frameset.h +++ /dev/null @@ -1,714 +0,0 @@ -/* -*+ -* Name: -* frameset.h - -* Type: -* C include file. - -* Purpose: -* Define the interface to the FrameSet class. - -* Invocation: -* #include "frameset.h" - -* Description: -* This include file defines the interface to the FrameSet class and -* provides the type definitions, function prototypes and macros, etc. -* needed to use this class. -* -* A FrameSet consists of a set of one or more Frames, which are -* inter-related by Mappings in such a way that it is possible to -* obtain a Mapping between any pair of the Frames. The Frames are -* identified by an integer index, with Frames being numbered -* consecutively from one as they are added to the FrameSet. -* -* At any time, there is a "base" Frame and a "current" Frame -* (which are allowed to be the same). Any of the Frames may be -* nominated to hold these positions, and the choice is determined -* by the values of the FrameSet's Base and Current attributes -* which hold the indices of the relevant Frames. By default, the -* first Frame added to a FrameSet is its base Frame, and the last -* one added is its current Frame. -* -* The base Frame describes the "native" coordinate system of -* whatever the FrameSet is used to calibrate (e.g. the pixel -* coordinates of an image) and the current Frame describes the -* "apparent" coordinate system in which it should be viewed -* (e.g. displayed, etc.). The other Frames represent alternative -* coordinate systems which may be selected by making them current. -* -* When Frame methods are invoked on a FrameSet (e.g. to obtain a -* Title value or to determine the number of axes), they are -* applied to the current Frame. Thus, a FrameSet may be used in -* place of its current Frame in most situations. -* -* When Mapping methods are invoked on a FrameSet, the Mapping used -* is the one between its base Frame and its current Frame. Thus, a -* FrameSet may be used to convert "native" coordinates into -* "apparent" ones, and vice versa. A FrameSet may also be -* inverted, which has the effect of interchanging its base and -* current Frames (and hence of reversing the Mapping between -* them). -* -* The FrameSet class also defines methods of its own, which are -* used to manage the Frames and Mappings that it contains and to -* convert between coordinate systems described by different -* FrameSets. - -* Inheritance: -* The FrameSet class inherits from the Frame class. - -* Attributes Over-Ridden: -* Digits (integer) -* Direction(axis) (integer) -* Domain (string) -* Format(axis) (string) -* Label(axis) (string) -* MatchEnd (integer) -* MaxAxes (integer) -* MinAxes (integer) -* Naxes (integer) -* Permute (integer) -* PreserveAxes (integer) -* Symbol(axis) (string) -* Title (string) -* Unit(axis) (string) -* The FrameSet acquires all of these attributes from its -* current Frame, so their meanings, values and defaults are -* determined by this Frame and may change if a different -* current Frame is selected. -* Nin (integer) -* Nout (integer) -* TranForward (integer) -* TranInverse (integer) -* The FrameSet interprets all of these as applying to the -* Mapping that converts coordinates between its base Frame and -* its current Frame, so their values may change if a different -* base or current Frame is selected. -* Invert (integer) -* Report (integer) -* The FrameSet interprets these as applying to the Mapping that -* converts coordinates between its base Frame and its current -* Frame, but their values are not affected by selecing a -* different base or current Frame. - -* New Attributes Defined: -* Base (integer) -* The (one-based) index of the Frame which is to be regarded as -* the base Frame in the FrameSet. By default, this is the first -* Frame added to the FrameSet (i.e. when it was created), -* unless the Frameset has been inverted, in which case it is -* the last Frame added. Inverting a FrameSet interchanges the -* values of its Base and Current attributes. -* Current (integer) -* The (one-based) index of the Frame which is to be regarded as -* the current Frame in the FrameSet. By default, this is the -* last Frame added to the FrameSet, unless the Frameset has -* been inverted, in which case it is the first Frame added -* (i.e. when the FrameSet was created). Inverting a FrameSet -* interchanges the values of its Base and Current attributes. -* Nframe (integer) -* A read-only value giving the number of Frames in a -* FrameSet. This value will change as Frames are added or -* removed. - -* Methods Over-Ridden: -* Public: -* astClear -* Clear attribute values for a FrameSet. -* astConvert -* Determine how to convert between two coordinate systems. -* astDistance -* Calculate the distance between two points. -* astFindFrame -* Find a coordinate system with specified characteristics -* astFormat -* Format a coordinate value for a FrameSet axis. -* astGetAxis -* Obtain a pointer to a specified Axis from a FrameSet. -* astGetNaxes -* Determine how many axes a FrameSet has. -* astGetNin -* Get the number of input coordinates for a FrameSet. -* astGetNout -* Get the number of output coordinates for a FrameSet. -* astNorm -* Normalise a set of FrameSet coordinates. -* astOffset -* Calculate an offset along a geodesic curve. -* astPermAxes -* Permute the order of a FrameSet's axes. -* astPickAxes -* Create a new Frame by picking axes from a FrameSet. -* astSetAxis -* Set a new Axis for a FrameSet. -* astSimplify -* Simplify the Mappings in a FrameSet. -* astTransform -* Transform a set of points. -* astUnformat -* Read a formatted coordinate value for a FrameSet axis. -* -* Protected: -* astAbbrev -* Abbreviate a formatted FrameSet axis value by skipping leading -* fields. -* astClearDigits -* Clear the value of the Digits attribute for a FrameSet. -* astClearDirection -* Clear the value of the Direction attribute for a FrameSet axis. -* astClearDomain -* Clear the value of the Domain attribute for a FrameSet. -* astClearFormat -* Clear the value of the Format attribute for a FrameSet axis. -* astClearLabel -* Clear the value of the Label attribute for a FrameSet axis. -* astClearMatchEnd -* Clear the value of the MatchEnd attribute for a FrameSet. -* astClearMaxAxes -* Clear the value of the MaxAxes attribute for a FrameSet. -* astClearMinAxes -* Clear the value of the MinAxes attribute for a FrameSet. -* astClearPermute -* Clear the value of the Permute attribute for a FrameSet. -* astClearPreserveAxes -* Clear the value of the PreserveAxes attribute for a FrameSet. -* astClearSymbol -* Clear the value of the Symbol attribute for a FrameSet axis. -* astClearTitle -* Clear the value of the Title attribute for a FrameSet. -* astClearUnit -* Clear the value of the Unit attribute for a FrameSet axis. -* astConvertX -* Determine how to convert between two coordinate systems. -* astGap -* Find a "nice" gap for tabulating FrameSet axis values. -* astGetDigits -* Get the value of the Digits attribute for a FrameSet. -* astGetDirection -* Get the value of the Direction attribute for a FrameSet axis. -* astGetDomain -* Get the value of the Domain attribute for a FrameSet. -* astGetFormat -* Get the value of the Format attribute for a FrameSet axis. -* astGetLabel -* Get the value of the Label attribute for a FrameSet axis. -* astGetMatchEnd -* Get the value of the MatchEnd attribute for a FrameSet. -* astGetMaxAxes -* Get the value of the MaxAxes attribute for a FrameSet. -* astGetMinAxes -* Get the value of the MinAxes attribute for a FrameSet. -* astGetPerm -* Access the axis permutation array for the current Frame of -* a FrameSet. -* astGetPermute -* Get the value of the Permute attribute for a FrameSet. -* astGetPreserveAxes -* Get the value of the PreserveAxes attribute for a FrameSet. -* astGetSymbol -* Get the value of the Symbol attribute for a FrameSet axis. -* astGetTitle -* Get the value of the Title attribute for a FrameSet. -* astGetTranForward -* Determine if a Mapping can perform a "forward" coordinate -* transformation. -* astGetTranInverse -* Determine if a Mapping can perform an "inverse" coordinate -* transformation. -* astGetUnit -* Get the value of the Unit attribute for a FrameSet axis. -* astMatch -* Determine if conversion is possible between two coordinate systems. -* astOverlay -* Overlay the attributes of a template FrameSet on to another Frame. -* astPrimaryFrame -* Uniquely identify a primary Frame and one of its axes. -* astReportPoints -* Report the effect of transforming a set of points using a FrameSet. -* astSetAttrib -* Set an attribute value for a FrameSet. -* astSetDigits -* Set the value of the Digits attribute for a FrameSet. -* astSetDirection -* Set the value of the Direction attribute for a FrameSet axis. -* astSetDomain -* Set the value of the Domain attribute for a FrameSet. -* astSetFormat -* Set the value of the Format attribute for a FrameSet axis. -* astSetLabel -* Set the value of the Label attribute for a FrameSet axis. -* astSetMatchEnd -* Set the value of the MatchEnd attribute for a FrameSet. -* astSetMaxAxes -* Set the value of the MaxAxes attribute for a FrameSet. -* astSetMinAxes -* Set the value of the MinAxes attribute for a FrameSet. -* astSetPermute -* Set the value of the Permute attribute for a FrameSet. -* astSetPreserveAxes -* Set the value of the PreserveAxes attribute for a FrameSet. -* astSetSymbol -* Set the value of the Symbol attribute for a FrameSet axis. -* astSetTitle -* Set the value of the Title attribute for a FrameSet. -* astSetUnit -* Set the value of the Unit attribute for a FrameSet axis. -* astSubFrame -* Select axes from a FrameSet and convert to the new coordinate -* system. -* astTestDigits -* Test if a value has been set for the Digits attribute of a -* FrameSet. -* astTestDirection -* Test if a value has been set for the Direction attribute of a -* FrameSet axis. -* astTestDomain -* Test if a value has been set for the Domain attribute of a -* FrameSet. -* astTestFormat -* Test if a value has been set for the Format attribute of a -* FrameSet axis. -* astTestLabel -* Test if a value has been set for the Label attribute of a -* FrameSet axis. -* astTestMatchEnd -* Test if a value has been set for the MatchEnd attribute of a -* FrameSet. -* astTestMaxAxes -* Test if a value has been set for the MaxAxes attribute of a -* FrameSet. -* astTestMinAxes -* Test if a value has been set for the MinAxes attribute of a -* FrameSet. -* astTestPermute -* Test if a value has been set for the Permute attribute of a -* FrameSet. -* astTestPreserveAxes -* Test if a value has been set for the PreserveAxes attribute of a -* FrameSet. -* astTestSymbol -* Test if a value has been set for the Symbol attribute of a -* FrameSet axis. -* astTestTitle -* Test if a value has been set for the Title attribute of a FrameSet. -* astTestUnit -* Test if a value has been set for the Unit attribute of a FrameSet -* axis. -* astValidateAxis -* Validate and permute a FrameSet's axis index. -* astVSet -* Set values for a FrameSet's attributes. - -* New Methods Defined: -* Public: -* astAddFrame -* Add a Frame to a FrameSet to define a new coordinate system. -* astGetFrame -* Obtain a pointer to a specified Frame in a FrameSet. -* astGetMapping -* Obtain a Mapping between two Frames in a FrameSet. -* astRemapFrame -* Modify a Frame's relationshp to the other Frames in a FrameSet. -* astRemoveFrame -* Remove a Frame from a FrameSet. -* -* Protected: -* astClearBase -* Clear the value of the Base attribute for a FrameSet. -* astClearCurrent -* Clear the value of the Current attribute for a FrameSet. -* astGetBase -* Obtain the value of the Base attribute for a FrameSet. -* astGetCurrent -* Obtain the value of the Current attribute for a FrameSet. -* astGetNframe -* Determine the number of Frames in a FrameSet. -* astSetBase -* Set the value of the Base attribute for a FrameSet. -* astSetCurrent -* Set the value of the Current attribute for a FrameSet. -* astTestBase -* Test if a value has been set for the Base attribute of a FrameSet. -* astTestCurrent -* Test if a value has been set for the Current attribute of a -* FrameSet. -* astValidateFrameIndex -* Validate a FrameSet Frame index number. - -* Other Class Functions: -* Public: -* astFrameSet -* Create a FrameSet. -* astIsAFrameSet -* Test class membership. -* -* Protected: -* astCheckFrameSet -* Validate class membership. -* astInitFrameSet -* Initialise a FrameSet. -* astInitFrameSetVtab -* Initialise the virtual function table for the FrameSet class. -* astLoadFrameSet -* Load a FrameSet. - -* Macros: -* None. - -* Type Definitions: -* Public: -* AstFrameSet -* FrameSet object type. - -* Protected: -* AstFrameSetVtab -* FrameSet virtual function table type. - -* Macros: -* Public: -* AST__BASE -* Expands to a constant int that may be used as a Frame index to -* refer to a FrameSet's base Frame. -* AST__CURRENT -* Expands to a constant int that may be used as a Frame index to -* refer to a FrameSet's current Frame. -* AST__NOFRAME -* Expands to a constant int that is guaranteed not to be valid when -* used as a Frame index for a FrameSet. -* -* Protected: -* None. - -* Feature Test Macros: -* astCLASS -* If the astCLASS macro is undefined, only public symbols are -* made available, otherwise protected symbols (for use in other -* class implementations) are defined. This macro also affects -* the reporting of error context information, which is only -* provided for external calls to the AST library. - -* Copyright: -* Copyright (C) 1997-2006 Council for the Central Laboratory of the -* Research Councils - -* Licence: -* This program is free software: you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation, either -* version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General -* License along with this program. If not, see -* <http://www.gnu.org/licenses/>. - -* Authors: -* RFWS: R.F. Warren-Smith (Starlink) - -* History: -* 16-FEB-1996 (RFWS): -* Original version. -* 5-JUN-1996 (RFWS): -* Tidied up, etc. -* 12-AUG-1996 (RFWS): -* Added support for the public interface. -* 25-SEP-1996 (RFWS): -* Added I/O facilities. -* 20-JAN-1998 (RFWS): -* Implemented preservation of FrameSet integrity when attribute -* values associated with the current Frame are modified. -* 25-FEB-1998 (RFWS): -* Over-ride the astUnformat method. -* 8-JAN-2003 (DSB): -* Added protected astInitFrameSetVtab method. -*- -*/ - -/* Include files. */ -/* ============== */ -/* Interface definitions. */ -/* ---------------------- */ -#include "frame.h" /* Parent Frame class */ - -/* Note that the usual setting of the FRAMESET_INCLUDED flag, which - prevents this file being included more than once, must be deferred - until after including the "frame.h" file. This is because "frame.h" - needs to include the present interface definition (as a form of - "forward reference") in order to have access to FrameSets - itself. */ -#if !defined( FRAMESET_INCLUDED ) -#define FRAMESET_INCLUDED - -/* Macros. */ -/* ======= */ - -/* Define a dummy __attribute__ macro for use on non-GNU compilers. */ -#ifndef __GNUC__ -# define __attribute__(x) /*NOTHING*/ -#endif - -#if defined(astCLASS) || defined(astFORTRAN77) -#define STATUS_PTR status -#else -#define STATUS_PTR astGetStatusPtr -#endif -#define AST__BASE (0) /* Identify base Frame */ -#define AST__CURRENT (-1) /* Identify current Frame */ -#define AST__NOFRAME (-99) /* An invalid Frame index */ -#define AST__ALLFRAMES (-199) /* A value representing all Frames */ -#define AST__FRAMESET_GETALLVARIANTS_BUFF_LEN 200 /* Length for AllVariants buffer */ -#define AST__FRAMESET_GETATTRIB_BUFF_LEN 200 /* Length for GetAtribb buffer */ - -/* Type Definitions. */ -/* ================= */ -/* FrameSet structure. */ -/* ------------------- */ -/* This structure contains all information that is unique to each object in - the class (e.g. its instance variables). */ -typedef struct AstFrameSet { - -/* Attributes inherited from the parent class. */ - AstFrame parent; /* Parent class structure */ - -/* Attributes specific to objects in this class. */ - AstFrame **frame; /* Array of Frame pointers */ - AstMapping **map; /* Array of Mapping pointers */ - int *varfrm; /* Array of variants Frames indices */ - int *invert; /* Array of Mapping Invert values */ - int *link; /* Parent node index for each node */ - int *node; /* Index of node associated with Frame */ - int base; /* Index of base Frame */ - int current; /* Index of current Frame */ - int nframe; /* Number of Frames */ - int nnode; /* Number of nodes */ -} AstFrameSet; - -/* Virtual function table. */ -/* ----------------------- */ -/* This table contains all information that is the same for all objects in the - class (e.g. pointers to its virtual functions). */ -#if defined(astCLASS) /* Protected */ -typedef struct AstFrameSetVtab { - -/* Properties (e.g. methods) inherited from the parent class. */ - AstFrameVtab frame_vtab; /* Parent class virtual function table */ - -/* A Unique identifier to determine class membership. */ - AstClassIdentifier id; - -/* Properties (e.g. methods) specific to this class. */ - AstFrame *(* GetFrame)( AstFrameSet *, int, int * ); - AstMapping *(* GetMapping)( AstFrameSet *, int, int, int * ); - int (* GetBase)( AstFrameSet *, int * ); - int (* GetCurrent)( AstFrameSet *, int * ); - int (* GetNframe)( AstFrameSet *, int * ); - int (* TestBase)( AstFrameSet *, int * ); - int (* TestCurrent)( AstFrameSet *, int * ); - int (* ValidateFrameIndex)( AstFrameSet *, int, const char *, int * ); - void (* AddFrame)( AstFrameSet *, int, AstMapping *, AstFrame *, int * ); - void (* AddVariant)( AstFrameSet *, AstMapping *, const char *, int * ); - void (* MirrorVariants)( AstFrameSet *, int, int * ); - void (* ClearBase)( AstFrameSet *, int * ); - void (* ClearCurrent)( AstFrameSet *, int * ); - void (* RemapFrame)( AstFrameSet *, int, AstMapping *, int * ); - void (* RemoveFrame)( AstFrameSet *, int, int * ); - void (* SetBase)( AstFrameSet *, int, int * ); - void (* SetCurrent)( AstFrameSet *, int, int * ); - void (* ClearVariant)( AstFrameSet *, int * ); - const char *(* GetVariant)( AstFrameSet *, int * ); - void (* SetVariant)( AstFrameSet *, const char *, int * ); - int (* TestVariant)( AstFrameSet *, int * ); - const char *(* GetAllVariants)( AstFrameSet *, int * ); - int (* GetNode)( AstFrameSet *, int, int *, int *, AstMapping **, int *, int * ); -} AstFrameSetVtab; - -#if defined(THREAD_SAFE) - -/* Define a structure holding all data items that are global within this - class. */ -typedef struct AstFrameSetGlobals { - AstFrameSetVtab Class_Vtab; - int Class_Init; - char GetAttrib_Buff[ AST__FRAMESET_GETATTRIB_BUFF_LEN + 1 ]; - char GetAllVariants_Buff[ AST__FRAMESET_GETALLVARIANTS_BUFF_LEN + 1 ]; - AstFrame *Integrity_Frame; - const char *Integrity_Method; - int Integrity_Lost; -} AstFrameSetGlobals; - -#endif - -#endif - -/* Function prototypes. */ -/* ==================== */ -/* Prototypes for standard class functions. */ -/* ---------------------------------------- */ -astPROTO_CHECK(FrameSet) /* Check class membership */ -astPROTO_ISA(FrameSet) /* Test class membership */ - -/* Constructor. */ -#if defined(astCLASS) /* Protected */ -AstFrameSet *astFrameSet_( void *, const char *, int *, ...); -#else -AstFrameSet *astFrameSetId_( void *, const char *, ... )__attribute__((format(printf,2,3))); -#endif - -#if defined(astCLASS) /* Protected */ - -/* Initialiser. */ -AstFrameSet *astInitFrameSet_( void *, size_t, int, AstFrameSetVtab *, - const char *, AstFrame *, int * ); - -/* Vtab initialiser. */ -void astInitFrameSetVtab_( AstFrameSetVtab *, const char *, int * ); - -/* Loader. */ -AstFrameSet *astLoadFrameSet_( void *, size_t, AstFrameSetVtab *, - const char *, AstChannel *, int * ); - -/* Thread-safe initialiser for all global data used by this module. */ -#if defined(THREAD_SAFE) -void astInitFrameSetGlobals_( AstFrameSetGlobals * ); -#endif - -#endif - -/* Prototypes for member functions. */ -/* -------------------------------- */ -AstFrame *astGetFrame_( AstFrameSet *, int, int * ); -AstMapping *astGetMapping_( AstFrameSet *, int, int, int * ); -void astAddFrame_( AstFrameSet *, int , AstMapping *, AstFrame *, int * ); -void astAddVariant_( AstFrameSet *, AstMapping *, const char *, int * ); -void astMirrorVariants_( AstFrameSet *, int, int * ); -void astRemapFrame_( AstFrameSet *, int, AstMapping *, int * ); -void astRemoveFrame_( AstFrameSet *, int, int * ); -int astGetNodeId_( AstFrameSet *, int, int *, int *, AstMapping **, int *, int * ); - -#if defined(astCLASS) /* Protected */ -const char *astGetAllVariants_( AstFrameSet *, int * ); -int astGetBase_( AstFrameSet *, int * ); -int astGetCurrent_( AstFrameSet *, int * ); -int astGetNframe_( AstFrameSet *, int * ); -int astTestBase_( AstFrameSet *, int * ); -int astTestCurrent_( AstFrameSet *, int * ); -int astValidateFrameIndex_( AstFrameSet *, int, const char *, int * ); -void astClearBase_( AstFrameSet *, int * ); -void astClearCurrent_( AstFrameSet *, int * ); -void astSetBase_( AstFrameSet *, int, int * ); -void astSetCurrent_( AstFrameSet *, int, int * ); -void astClearVariant_( AstFrameSet *, int * ); -const char *astGetVariant_( AstFrameSet *, int * ); -void astSetVariant_( AstFrameSet *, const char *, int * ); -int astTestVariant_( AstFrameSet *, int * ); -int astGetNode_( AstFrameSet *, int, int *, int *, AstMapping **, int *, int * ); -#endif - -/* Function interfaces. */ -/* ==================== */ -/* These macros are wrap-ups for the functions defined by this class to make - them easier to invoke (e.g. to avoid type mis-matches when passing pointers - to objects from derived classes). */ - -/* Interfaces to standard class functions. */ -/* --------------------------------------- */ -/* Some of these functions provide validation, so we cannot use them to - validate their own arguments. We must use a cast when passing object - pointers (so that they can accept objects from derived classes). */ - -/* Check class membership. */ -#define astCheckFrameSet(this) astINVOKE_CHECK(FrameSet,this,0) -#define astVerifyFrameSet(this) astINVOKE_CHECK(FrameSet,this,1) - -/* Test class membership. */ -#define astIsAFrameSet(this) astINVOKE_ISA(FrameSet,this) - -/* Constructor. */ -#if defined(astCLASS) /* Protected */ -#define astFrameSet astINVOKE(F,astFrameSet_) -#else -#define astFrameSet astINVOKE(F,astFrameSetId_) -#endif - -#if defined(astCLASS) /* Protected */ - -/* Initialiser. */ -#define astInitFrameSet(mem,size,init,vtab,name,frame) \ -astINVOKE(O,astInitFrameSet_(mem,size,init,vtab,name,astCheckFrame(frame),STATUS_PTR)) - -/* Vtab Initialiser. */ -#define astInitFrameSetVtab(vtab,name) astINVOKE(V,astInitFrameSetVtab_(vtab,name,STATUS_PTR)) -/* Loader. */ -#define astLoadFrameSet(mem,size,vtab,name,channel) \ -astINVOKE(O,astLoadFrameSet_(mem,size,vtab,name,astCheckChannel(channel),STATUS_PTR)) -#endif - -/* Interfaces to public member functions. */ -/* -------------------------------------- */ -/* Here we make use of astCheckFrameSet to validate FrameSet pointers before - use. This provides a contextual error report if a pointer to the wrong sort - of object is supplied. */ -#define astAddFrame(this,iframe,map,frame) \ -astINVOKE(V,astAddFrame_(astCheckFrameSet(this),iframe,(((iframe)!=AST__ALLFRAMES)?astCheckMapping(map):NULL),astCheckFrame(frame),STATUS_PTR)) -#define astAddVariant(this,map,name) \ -astINVOKE(V,astAddVariant_(astCheckFrameSet(this),map?astCheckMapping(map):NULL,name,STATUS_PTR)) -#define astMirrorVariants(this,iframe) \ -astINVOKE(V,astMirrorVariants_(astCheckFrameSet(this),iframe,STATUS_PTR)) -#define astGetFrame(this,iframe) \ -astINVOKE(O,astGetFrame_(astCheckFrameSet(this),iframe,STATUS_PTR)) -#define astGetMapping(this,iframe1,iframe2) \ -astINVOKE(O,astGetMapping_(astCheckFrameSet(this),iframe1,iframe2,STATUS_PTR)) -#define astRemapFrame(this,iframe,map) \ -astINVOKE(V,astRemapFrame_(astCheckFrameSet(this),iframe,astCheckMapping(map),STATUS_PTR)) -#define astRemoveFrame(this,iframe) \ -astINVOKE(V,astRemoveFrame_(astCheckFrameSet(this),iframe,STATUS_PTR)) -#define astGetNode(this,inode,nnodes,iframe,map,parent) \ -astINVOKE(V,astGetNodeId_(astCheckFrameSet(this),inode,nnodes,iframe,map,parent,STATUS_PTR)) - -/* Interfaces to protected member functions. */ -/* ----------------------------------------- */ -#if defined(astCLASS) /* Protected */ -#define astClearBase(this) \ -astINVOKE(V,astClearBase_(astCheckFrameSet(this),STATUS_PTR)) -#define astClearCurrent(this) \ -astINVOKE(V,astClearCurrent_(astCheckFrameSet(this),STATUS_PTR)) -#define astGetBase(this) \ -astINVOKE(V,astGetBase_(astCheckFrameSet(this),STATUS_PTR)) -#define astGetCurrent(this) \ -astINVOKE(V,astGetCurrent_(astCheckFrameSet(this),STATUS_PTR)) -#define astGetNframe(this) \ -astINVOKE(V,astGetNframe_(astCheckFrameSet(this),STATUS_PTR)) -#define astSetBase(this,ibase) \ -astINVOKE(V,astSetBase_(astCheckFrameSet(this),ibase,STATUS_PTR)) -#define astSetCurrent(this,icurrent) \ -astINVOKE(V,astSetCurrent_(astCheckFrameSet(this),icurrent,STATUS_PTR)) -#define astTestBase(this) \ -astINVOKE(V,astTestBase_(astCheckFrameSet(this),STATUS_PTR)) -#define astTestCurrent(this) \ -astINVOKE(V,astTestCurrent_(astCheckFrameSet(this),STATUS_PTR)) -#define astValidateFrameIndex(this,iframe,method) \ -astINVOKE(V,astValidateFrameIndex_(astCheckFrameSet(this),iframe,method,STATUS_PTR)) -#define astClearVariant(this) \ -astINVOKE(V,astClearVariant_(astCheckFrameSet(this),STATUS_PTR)) -#define astGetVariant(this) \ -astINVOKE(V,astGetVariant_(astCheckFrameSet(this),STATUS_PTR)) -#define astSetVariant(this,variant) \ -astINVOKE(V,astSetVariant_(astCheckFrameSet(this),variant,STATUS_PTR)) -#define astTestVariant(this) \ -astINVOKE(V,astTestVariant_(astCheckFrameSet(this),STATUS_PTR)) -#define astGetAllVariants(this) \ -astINVOKE(V,astGetAllVariants_(astCheckFrameSet(this),STATUS_PTR)) -#endif -#endif - - - - - |