(prsr_lib/attribut.c:536)
Prototype:
IPObjectStruct *AttrGetObjAttrib(IPAttributeStruct *Attrs, char *Name)
Description:
Routine to get an object attribute.
Parameters:
Attrs: | Attribute list to search for requested attribute.
|
---|
Name: | Name of requested attribute.
|
---|
Returned Value:
IPObjectStruct *: Found attribute, or NULL if not found.
|
---|
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:60)
Prototype:
int AttrGetObjectColor(IPObjectStruct *PObj)
Description:
Routine to return the color of an object.
Parameters:
PObj: | For which we would like to know the color of.
|
---|
Returned Value:
int: Color of PObj or IP_ATTR_NO_COLOR if no color set.
|
---|
See Also:
AttrSetObjectColor
AttrSetObjectRGBColor
AttrGetObjectRGBColor
AttrGetObjectWidth
AttrSetObjectWidth
AttrSetObjectRealAttrib
AttrgetColor
Keywords:
attributes
color
(prsr_lib/attribut.c:219)
Prototype:
int AttrGetObjectIntAttrib(IPObjectStruct *PObj, char *Name)
Description:
Routine to get an integer attribute from an object.
Parameters:
PObj: | Object from which to get an ingeter attribute.
|
---|
Name: | Name of integer attribute.
|
---|
Returned Value:
int: Found attribute, or IP_ATTR_BAD_INT if not found.
|
---|
See Also:
AttrSetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:511)
Prototype:
IPObjectStruct *AttrGetObjectObjAttrib(IPObjectStruct *PObj, char *Name)
Description:
Routine to get an object attribute from an object.
Parameters:
PObj: | Object from which to get a object attribute.
|
---|
Name: | Name of object attribute.
|
---|
Returned Value:
IPObjectStruct *: Found attribute, or NULL if not found.
|
---|
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:279)
Prototype:
VoidPtr AttrGetObjectPtrAttrib(IPObjectStruct *PObj, char *Name)
Description:
Routine to get a pointer attribute from an object.
Parameters:
PObj: | Object from which to get a pointer attribute.
|
---|
Name: | Name of pointer attribute.
|
---|
Returned Value:
VoidPtr: Found attribute, or NULL if not found.
|
---|
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:111)
Prototype:
int AttrGetObjectRGBColor(IPObjectStruct *PObj,
int *Red,
int *Green,
int *Blue)
Description:
Routine to return the RGB color of an object.
Parameters:
PObj: | Object to get its RGB color.
|
---|
Red, Green, Blue: | Component of color to initialize.
|
---|
Returned Value:
int: TRUE if PObj does have an RGB color attribute, FALSE otherwise.
|
---|
See Also:
AttrSetObjectColor
AttrGetObjectColor
AttrSetObjectRGBColor
AttrGetObjectWidth
AttrSetObjectWidth
AttrSetObjectRealAttrib
AttrGetRGBColor
Keywords:
attributes
color
rgb
(prsr_lib/attribut.c:339)
Prototype:
RealType AttrGetObjectRealAttrib(IPObjectStruct *PObj, char *Name)
Description:
Routine to get a real attribute from an object.
Parameters:
PObj: | Object from which to get a real attribute.
|
---|
Name: | Name of real attribute.
|
---|
Returned Value:
RealType: Found attribute, or IP_ATTR_BAD_REAL if not found.
|
---|
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:399)
Prototype:
char *AttrGetObjectStrAttrib(IPObjectStruct *PObj, char *Name)
Description:
Routine to get a string attribute from an object.
Parameters:
PObj: | Object from which to get a string attribute.
|
---|
Name: | Name of string attribute.
|
---|
Returned Value:
char *: Found attribute, or NULL if not found.
|
---|
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:159)
Prototype:
RealType AttrGetObjectWidth(IPObjectStruct *PObj)
Description:
Routine to return the width of an object.
Parameters:
PObj: | For which we would like to know the width of.
|
---|
Returned Value:
RealType: Width of PObj or IP_ATTR_NO_WIDTH if no width set.
|
---|
See Also:
AttrSetObjectColor
AttrGetObjectColor
AttrSetObjectRGBColor
AttrGetObjectRGBColor
AttrSetObjectWidth
AttrGetObjectRealAttrib
AttrSetWidth
Keywords:
attributes
width
(prsr_lib/attribut.c:471)
Prototype:
void AttrSetObjAttrib(IPAttributeStruct **Attrs,
char *Name,
IPObjectStruct *Data,
int CopyData)
Description:
Routine to set an object attribute.
Parameters:
Attrs: | Attribute list where to place new attribute.
|
---|
Name: | Name of thely introducedattribute
|
---|
Data: | Pointer attribute to save.
|
---|
CopyData: | If TRUE, object Data is duplicated first.
|
---|
Returned Value:
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:36)
Prototype:
void AttrSetObjectColor(IPObjectStruct *PObj, int Color)
Description:
Routine to set the color of an object.
Parameters:
PObj: | Object to set its color to Color.
|
---|
Color: | New color for PObj.
|
---|
Returned Value:
See Also:
AttrGetObjectColor
AttrSetObjectRGBColor
AttrGetObjectRGBColor
AttrGetObjectWidth
AttrSetObjectWidth
AttrSetObjectIntAttrib
AttrSetColor
Keywords:
attributes
color
(prsr_lib/attribut.c:185)
Prototype:
void AttrSetObjectIntAttrib(IPObjectStruct *PObj, char *Name, int Data)
Description:
Routine to set an integer attribute for an object.
Parameters:
PObj: | To add an integer attribute for.
|
---|
Name: | Name of attribute.
|
---|
Data: | Content of attribute.
|
---|
Returned Value:
See Also:
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:429)
Prototype:
void AttrSetObjectObjAttrib(IPObjectStruct *PObj,
char *Name,
IPObjectStruct *Data,
int CopyData)
Description:
Routine to set an object attribute for an object.
Parameters:
PObj: | To add an object attribute for.
|
---|
Name: | Name of attribute.
|
---|
Data: | Content of attribute.
|
---|
CopyData: | f TRUE, Data object is duplicated first.
|
---|
Returned Value:
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:245)
Prototype:
void AttrSetObjectPtrAttrib(IPObjectStruct *PObj, char *Name, VoidPtr Data)
Description:
Routine to set a pointer attribute for an object.
Parameters:
PObj: | To add a pointer attribute for.
|
---|
Name: | Name of attribute.
|
---|
Data: | Content of attribute.
|
---|
Returned Value:
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:84)
Prototype:
void AttrSetObjectRGBColor(IPObjectStruct *PObj, int Red, int Green, int Blue)
Description:
Routine to set the RGB color of an object.
Parameters:
PObj: | Object to set its RGB color.
|
---|
Red, Green, Blue: | Component of color.
|
---|
Returned Value:
See Also:
AttrSetObjectColor
AttrGetObjectColor
AttrGetObjectRGBColor
AttrGetObjectWidth
AttrSetObjectWidth
AttrSetObjectRealAttrib
AttrSetRGBColor
Keywords:
attributes
color
rgb
(prsr_lib/attribut.c:305)
Prototype:
void AttrSetObjectRealAttrib(IPObjectStruct *PObj, char *Name, RealType Data)
Description:
Routine to set a real attribute for an object.
Parameters:
PObj: | To add a real attribute for.
|
---|
Name: | Name of attribute.
|
---|
Data: | Content of attribute.
|
---|
Returned Value:
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrGetObjectRealAttrib
AttrSetObjectStrAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:365)
Prototype:
void AttrSetObjectStrAttrib(IPObjectStruct *PObj, char *Name, char *Data)
Description:
Routine to set a string attribute for an object.
Parameters:
PObj: | To add a string attribute for.
|
---|
Name: | Name of attribute.
|
---|
Data: | Content of attribute.
|
---|
Returned Value:
See Also:
AttrSetObjectIntAttrib
AttrGetObjectIntAttrib
AttrSetObjectPtrAttrib
AttrGetObjectPtrAttrib
AttrSetObjectRealAttrib
AttrGetObjectRealAttrib
AttrGetObjectStrAttrib
AttrSetObjectObjAttrib
AttrSetObjAttrib
AttrGetObjectObjAttrib
AttrGetObjAttrib
Keywords:
attributes
(prsr_lib/attribut.c:135)
Prototype:
void AttrSetObjectWidth(IPObjectStruct *PObj, RealType Width)
Description:
Routine to set the width of an object.
Parameters:
PObj: | Object to set its width to Width.
|
---|
Width: | New width for PObj.
|
---|
Returned Value:
See Also:
AttrSetObjectColor
AttrGetObjectColor
AttrSetObjectRGBColor
AttrGetObjectRGBColor
AttrGetObjectWidth
AttrSetObjectRealAttrib
AttrSetWidth
Keywords:
attributes
width
(prsr_lib/bsp_read.c:32)
Prototype:
CagdCrvStruct *BspCrvReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file Bspline curve(s).
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the Bspline curve from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdCrvStruct *: The read curve, or NULL if an error occured.
|
---|
Keywords:
files
read
(prsr_lib/bsp_read.c:95)
Prototype:
CagdCrvStruct *BspCrvReadFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a Bspline curve.
If NameWasRead is TRUE, it is assumed prefix "[CURVE BSPLINE" has
already been read. This is useful for a global parser which invokes this
routine to read from a file several times as a parent controller.
For exactly this reason, the given file descriptor is NOT closed in the
end.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of curve.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | RUE if "[CURVE BSPLINE" has been read, FALSE otherwise.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdCrvStruct *: The read curve, or NULL if an error occured.
|
---|
Keywords:
files
read
stream
(prsr_lib/bsp_wrt.c:39)
Prototype:
int BspCrvWriteToFile(CagdCrvStruct *Crvs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bspline curve(s) list into file. Returns TRUE if succesful, FALSE
otherwise.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Crvs: | To write to file FileName.
|
---|
FileName: | Name of file to open so we can write Crvs in.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bsp_wrt.c:84)
Prototype:
int BspCrvWriteToFile2(CagdCrvStruct *Crvs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bspline curve(s) list into file. Returns TRUE if succesful, FALSE
otherwise. The file descriptor is not closed.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Crvs: | To write to open stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bsp_read.c:263)
Prototype:
CagdSrfStruct *BspSrfReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file Bspline surface(s).
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the Bspline surface from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdSrfStruct *: The read surface, or NULL if an error occured.
|
---|
Keywords:
files
read
(prsr_lib/bsp_read.c:326)
Prototype:
CagdSrfStruct *BspSrfReadFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a Bspline surface.
If NameWasRead is TRUE, it is assumed prefix "[SURFACE BSPLINE" has
already been read. This is useful for a global parser which invokes this
routine to read from a file several times as a parent controller.
For exactly this reason, the given file descriptor is NOT closed in the
end.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of surface.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | TRUE if "[SURFACE BSPLINE" hasbeen read, FALSE otherwise.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdSrfStruct *: The read surface, or NULL if an error occured.
|
---|
Keywords:
files
read
stream
(prsr_lib/bsp_wrt.c:173)
Prototype:
int BspSrfWriteToFile(CagdSrfStruct *Srfs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bspline surface(s) list into file. Returns TRUE if succesful, FALSE
otherwise.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Srfs: | To write to file FileName.
|
---|
FileName: | Name of file to open so we can write Srfs in.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bsp_wrt.c:218)
Prototype:
int BspSrfWriteToFile2(CagdSrfStruct *Srfs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bspline surface(s) list into file. Returns TRUE if succesful, FALSE
otherwise. The file descriptor is not closed.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Srfs: | To write to open stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bzr_read.c:32)
Prototype:
CagdCrvStruct *BzrCrvReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file Bezier curve(s).
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the Bezier curve from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdCrvStruct *: The read curve, or NULL if an error occured.
|
---|
Keywords:
files
read
(prsr_lib/bzr_read.c:95)
Prototype:
CagdCrvStruct *BzrCrvReadFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a Bezier curve.
If NameWasRead is TRUE, it is assumed prefix "[CURVE BEZIER" has
already been read. This is useful for a global parser which invokes this
routine to read from a file several times as a parent controller.
For exactly this reason, the given file descriptor is NOT closed in the
end.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of curve.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | TRUE if "[CURVE BEZIER" hasbeen read, FALSE otherwise.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdCrvStruct *: The read curve, or NULL if an error occured.
|
---|
Keywords:
files
read
stream
(prsr_lib/bzr_wrt.c:39)
Prototype:
int BzrCrvWriteToFile(CagdCrvStruct *Crvs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bezier curve(s) list into file. Returns TRUE if succesful, FALSE
otherwise.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Crvs: | To write to file FileName.
|
---|
FileName: | Name of file to open so we can write Crvs in.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bzr_wrt.c:84)
Prototype:
int BzrCrvWriteToFile2(CagdCrvStruct *Crvs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bezier curve(s) list into file. Returns TRUE if succesful, FALSE
otherwise. The file descriptor is not closed.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Crvs: | To write to open stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bzr_read.c:219)
Prototype:
CagdSrfStruct *BzrSrfReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file Bezier surface(s).
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the Bezier surface from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdSrfStruct *: The read surface, or NULL if an error occured.
|
---|
Keywords:
files
read
(prsr_lib/bzr_read.c:282)
Prototype:
CagdSrfStruct *BzrSrfReadFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a Bezier surface.
If NameWasRead is TRUE, it is assumed prefix "[SURFACE BEZIER" has
already been read. This is useful for a global parser which invokes this
routine to read from a file several times as a parent controller.
For exactly this reason, the given file descriptor is NOT closed in the
end.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of surface.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | RUE if "[SURFACE BEZIER" hasbeen read, FALSE otherwise.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdSrfStruct *: The read surface, or NULL if an error occured.
|
---|
Keywords:
files
read
stream
(prsr_lib/bzr_wrt.c:156)
Prototype:
int BzrSrfWriteToFile(CagdSrfStruct *Srfs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bezier surface(s) list into file. Returns TRUE if succesful, FALSE
otherwise.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Srfs: | To write to file FileName.
|
---|
FileName: | Name of file to open so we can write Srfs in.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/bzr_wrt.c:201)
Prototype:
int BzrSrfWriteToFile2(CagdSrfStruct *Srfs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Writes Bezier surface(s) list into file. Returns TRUE if succesful, FALSE
otherwise. The file descriptor is not closed.
If Comment is NULL, no comment is wrriten, if "" only internal comment
is written.
Parameters:
Srfs: | To write to open stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Primary indentation. All information will be written
from the column specified by Indent.
|
---|
Comment: | Optional, to describe the geometry.
|
---|
ErrStr: | If an error occurs, to describe the error.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/cagdread.c:29)
Prototype:
CagdCrvStruct *CagdCrvReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file curve(s).
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the curve from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdCrvStruct *: The read curve, or NULL if an error occured.
|
---|
Keywords:
files
read
(prsr_lib/cagdread.c:152)
Prototype:
CagdCrvStruct *CagdCrvReadFromFile2(int Handler, char **ErrStr, int *ErrLine)
Description:
Reads from a stream a curve.
It is assumed prefix "[CURVE" has already been read. This is useful for
a global parser which invokes this routine to read from a stream several
times as a parent controller.
For exactly this reason, the given stream descriptor is NOT closed in
the end.
If error is found in reading the stream, ErrStr is set to a string
describing it and ErrLine to line it occured in stream relative to
begining of curve.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in strea of the error, if occured.
|
---|
Returned Value:
CagdCrvStruct *: The read curve, or NULL if an error occured.
|
---|
Keywords:
files
read
stream
(prsr_lib/cagd_wrt.c:41)
Prototype:
int CagdCrvWriteToFile(CagdCrvStruct *Crvs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write curve(s) to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
Crvs: | To be saved in file f.
|
---|
FileName: | File name where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/cagd_wrt.c:94)
Prototype:
int CagdCrvWriteToFile2(CagdCrvStruct *Crvs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write curve(s) to the given stream.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
Crvs: | To be saved in stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/triv_wrt.c:136)
Prototype:
int TrivTVWriteToFile3(TrivTVStruct *TVs,
FILE *f,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write curve(s) to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in file f.
|
---|
f: | File descriptor where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/cagd_wrt.c:148)
Prototype:
int CagdCrvWriteToFile3(CagdCrvStruct *Crvs,
FILE *f,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write curve(s) to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
Crvs: | To be saved in file f.
|
---|
f: | File descriptor where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/cagdread.c:88)
Prototype:
CagdSrfStruct *CagdSrfReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file surface(s).
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the surface from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
CagdSrfStruct *: The read surface, or NULL if an error occured.
|
---|
Keywords:
files
read
(prsr_lib/cagdread.c:192)
Prototype:
CagdSrfStruct *CagdSrfReadFromFile2(int Handler, char **ErrStr, int *ErrLine)
Description:
Reads from a stream a surface.
It is assumed prefix "[SURFACE" has already been read. This is useful
for a global parser which invokes this routine to read from a stream
several times as a parent controller.
For exactly this reason, the given stream descriptor is NOT closed in
the end.
If error is found in reading the stream, ErrStr is set to a string
describing it and ErrLine to line it occured in stream relative to
begining of surface.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in stream of the error, if occured.
|
---|
Returned Value:
CagdSrfStruct *: The read surface, or NULL if an error occured.
|
---|
Keywords:
files
read
stream
(prsr_lib/cagd_wrt.c:180)
Prototype:
int CagdSrfWriteToFile(CagdSrfStruct *Srfs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write surface(s) to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
Srfs: | To be saved in file f.
|
---|
FileName: | File name where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/cagd_wrt.c:234)
Prototype:
int CagdSrfWriteToFile2(CagdSrfStruct *Srfs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write surface(s) to the given stream.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
Srfs: | To be saved in stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
stream
(prsr_lib/cagd_wrt.c:288)
Prototype:
int CagdSrfWriteToFile3(CagdSrfStruct *Srfs,
FILE *f,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write surface(s) to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
Srfs: | To be saved in file f.
|
---|
f: | File descriptor where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/trim_wrt.c:145)
Prototype:
int TrimWriteTrimmedSrfToFile3(TrimSrfStruct *TrimSrfs,
FILE *f,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write trimmed surface(s) to the given stream.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TrimSrfs: | To be saved in stream.
|
---|
f: | File descriptor where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/allocate.c:1304)
Prototype:
IPObjectStruct *CopyObject(IPObjectStruct *Dest,
IPObjectStruct *Src,
int CopyAll)
Description:
Routine to create a whole new copy of an object Src into Dest.
If Dest is NULL, new object is allocated, otherwise Dest itself is
updated to hold the new copy.
If CopyAll then all the record is copied, otherwise, only its invariant
elements arebeen copied (i.e. no Name/Pnext copying).
Parameters:
Dest: | Destination object, possibly NULL.
|
---|
Src: | Source object.
|
---|
CopyAll: | Do we want a complete identical copy?
|
---|
Returned Value:
IPObjectStruct *: Duplicate of Src, same as Dest if Dest != NULL.
|
---|
Keywords:
copy
(prsr_lib/allocate.c:1415)
Prototype:
IPObjectStruct *CopyObjectList(IPObjectStruct *PObjs, int CopyAll)
Description:
Routine to create a new copy of an object list.
Parameters:
Pobjs: | Source objects.
|
---|
CopyAll: | Do we want a complete identical copy?
|
---|
Returned Value:
IPObjectStruct *: Duplicated list of PObjs.
|
---|
Keywords:
copy
(prsr_lib/allocate.c:1446)
Prototype:
IPPolygonStruct *CopyPolygonList(IPPolygonStruct *Src)
Description:
Routine to create a new copy of an object polygon list.
Parameters:
Src: | A polygon list to copy.
|
---|
Returned Value:
IPPolygonStruct *: Duplicated list of polygons.
|
---|
Keywords:
copy
(prsr_lib/allocate.c:1487)
Prototype:
IPVertexStruct *CopyVertexList(IPVertexStruct *Src)
Description:
Routine to create a new copy of a polygon vertices list.
Parameters:
Src: | A vertex list to copy.
|
---|
Returned Value:
IPVertexStruct *: Duplicated list of vertices.
|
---|
Keywords:
copy
(prsr_lib/allocate.c:741)
Prototype:
IPObjectStruct *GenCRVObject(CagdCrvStruct *Crv)
Description:
Creates one curve object.
Parameters:
Crv: | Curves to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created curve object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:947)
Prototype:
IPObjectStruct *GenCTLPTObject(CagdPointType PtType,
CagdRType *CagdCoords,
RealType *Coords)
Description:
Creates one control point object.
Only one of CagdCoords/Coords should be specified.
Parameters:
PtType: | Point type of created control point (E2, P3, etc.).
|
---|
CagdCoords: | If specified, used as coefficients of new control point.
|
---|
Coords: | If specified, used as coefficients of new control point.
|
---|
Returned Value:
IPObjectStruct *: A newly created control point object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:717)
Prototype:
IPObjectStruct *GenCrvObject(char *Name,
CagdCrvStruct *Crv,
IPObjectStruct *Pnext)
Description:
Creates one curve object.
Parameters:
Name: | Name of polygonal object.
|
---|
Crv: | Curves to place in object.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created curve object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:906)
Prototype:
IPObjectStruct *GenCtlPtObject(char *Name,
CagdPointType PtType,
CagdRType *CagdCoords,
RealType *Coords,
IPObjectStruct *Pnext)
Description:
Creates one control point object.
Only one of CagdCoords/Coords should be specified.
Parameters:
Name: | Name of polygonal object.
|
---|
PtType: | Point type of created control point (E2, P3, etc.).
|
---|
CagdCoords: | If specified, used as coefficients of new control point.
|
---|
Coords: | If specified, used as coefficients of new control point.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created control point object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1255)
Prototype:
IPObjectStruct *GenMATObject(MatrixType Mat)
Description:
Creates one matrix object.
Parameters:
Mat: | Matrix to initialize with.
|
---|
Returned Value:
IPObjectStruct *: A newly created matrix object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1228)
Prototype:
IPObjectStruct *GenMatObject(char *Name, MatrixType Mat, IPObjectStruct *Pnext)
Description:
Creates one matrix object.
Parameters:
Name: | Name of polygonal object.
|
---|
Mat: | Matrix to initialize with.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created matrix object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:991)
Prototype:
IPObjectStruct *GenNUMObject(RealType *R)
Description:
Creates one numeric object.
Parameters:
R: | Numeric value to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created numeric object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1009)
Prototype:
IPObjectStruct *GenNUMValObject(RealType R)
Description:
Creates one numeric object.
Parameters:
R: | Numeric value to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created numeric object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:967)
Prototype:
IPObjectStruct *GenNumObject(char *Name, RealType *R, IPObjectStruct *Pnext)
Description:
Creates one numeric object.
Parameters:
Name: | Name of polygonal object.
|
---|
R: | Numeric value to place in object.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created numeric object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1208)
Prototype:
IPObjectStruct *GenPLANEObject(RealType *Plane0,
RealType *Plane1,
RealType *Plane2,
RealType *Plane3)
Description:
Creates one plane object.
Parameters:
Plane0, Plane1, Plane2, Plane3: | Coefficients of point.
|
---|
Returned Value:
IPObjectStruct *: A newly created plane object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:695)
Prototype:
IPObjectStruct *GenPOLYObject(IPPolygonStruct *Pl)
Description:
Creates one polygonal object.
Parameters:
Pl: | Polygon(s) to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created polygonal object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1059)
Prototype:
IPObjectStruct *GenPTObject(RealType *Pt0, RealType *Pt1, RealType *Pt2)
Description:
Creates one point object.
Parameters:
Pt0, Pt1, Pt2: | Coefficients of point.
|
---|
Returned Value:
IPObjectStruct *: A newly created point object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1178)
Prototype:
IPObjectStruct *GenPlaneObject(char *Name,
RealType *Plane0,
RealType *Plane1,
RealType *Plane2,
RealType *Plane3,
IPObjectStruct *Pnext)
Description:
Creates one plane object.
Parameters:
Name: | Name of polygonal object.
|
---|
Plane0, Plane1, Plane2, Plane3: | Coefficients of point.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created plane object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:670)
Prototype:
IPObjectStruct *GenPolyObject(char *Name,
IPPolygonStruct *Pl,
IPObjectStruct *Pnext)
Description:
Creates one polygonal object.
Parameters:
Name: | Name of polygonal object.
|
---|
Pl: | Polygon(s) to place in object.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created polygonal object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1033)
Prototype:
IPObjectStruct *GenPtObject(char *Name,
RealType *Pt0,
RealType *Pt1,
RealType *Pt2,
IPObjectStruct *Pnext)
Description:
Creates one point object.
Parameters:
Name: | Name of polygonal object.
|
---|
Pt0, Pt1, Pt2: | Coefficients of point.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created point object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:787)
Prototype:
IPObjectStruct *GenSRFObject(CagdSrfStruct *Srf)
Description:
Creates one surface object.
Parameters:
Srf: | Surfaces to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created surface object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1153)
Prototype:
IPObjectStruct *GenSTRObject(char *Str)
Description:
Creates one string object.
Parameters:
Returned Value:
IPObjectStruct *: A newly created strtor object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:763)
Prototype:
IPObjectStruct *GenSrfObject(char *Name,
CagdSrfStruct *Srf,
IPObjectStruct *Pnext)
Description:
Creates one surface object.
Parameters:
Name: | Name of polygonal object.
|
---|
Srf: | Surfaces to place in object.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created surface object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1129)
Prototype:
IPObjectStruct *GenStrObject(char *Name, char *Str, IPObjectStruct *Pnext)
Description:
Creates one string object.
Parameters:
Name: | Name of string object.
|
---|
Str: | The string.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created strtor object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:833)
Prototype:
IPObjectStruct *GenTRIMSRFObject(TrimSrfStruct *TrimSrf)
Description:
Creates one surface object.
Parameters:
TrimSrf: | Trimmed surfaces to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created trimmed surface object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:879)
Prototype:
IPObjectStruct *GenTRIVARObject(TrivTVStruct *Triv)
Description:
Creates one trivariate object.
Parameters:
Triv: | Trivariates to place in object.
|
---|
Returned Value:
IPObjectStruct *: A newly created trivariate object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:809)
Prototype:
IPObjectStruct *GenTrimSrfObject(char *Name,
TrimSrfStruct *TrimSrf,
IPObjectStruct *Pnext)
Description:
Creates one surface object.
Parameters:
Name: | Name of polygonal object.
|
---|
TrimSrf: | Trimmed surfaces to place in object.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created trimmed surface object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:855)
Prototype:
IPObjectStruct *GenTrivarObject(char *Name,
TrivTVStruct *Triv,
IPObjectStruct *Pnext)
Description:
Creates one trivariate object.
Parameters:
Name: | Name of polygonal object.
|
---|
Triv: | Trivariates to place in object.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created trivariate object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1109)
Prototype:
IPObjectStruct *GenVECObject(RealType *Vec0, RealType *Vec1, RealType *Vec2)
Description:
Creates one vector object.
Parameters:
Vec0, Vec1, Vec2: | Coefficients of vector.
|
---|
Returned Value:
IPObjectStruct *: A newly created vector object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:1083)
Prototype:
IPObjectStruct *GenVecObject(char *Name,
RealType *Vec0,
RealType *Vec1,
RealType *Vec2,
IPObjectStruct *Pnext)
Description:
Creates one vector object.
Parameters:
Name: | Name of polygonal object.
|
---|
Vec0, Vec1, Vec2: | Coefficients of vector.
|
---|
Pnext: | Entry into the object structure.
|
---|
Returned Value:
IPObjectStruct *: A newly created vector object.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:188)
Prototype:
IPPolygonStruct *IPAllocPolygon(ByteType Count,
ByteType Tags,
IPVertexStruct *V,
IPPolygonStruct *Pnext)
Description:
Allocates one Polygon Structure.
Parameters:
Count: | Entry into new vertex structure.
|
---|
Tags: | Entry into new vertex structure.
|
---|
V: | Entry into new vertex structure.
|
---|
Pnext: | Entry into new vertex structure.
|
---|
Returned Value:
IPPolygonStruct *: A new allocated polygon structure.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:247)
Prototype:
IPObjectStruct *IPAllocObject(char *Name,
IPObjStructType ObjType,
IPObjectStruct *Pnext)
Description:
Allocates one Object Structure.
Parameters:
Name: | Name of newly allocated object.
|
---|
ObjType: | Object type of newly allocated object.
|
---|
Pnext: | Entry into new object structure.
|
---|
Returned Value:
IPObjectStruct *: A new allocated object structure.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:127)
Prototype:
IPVertexStruct *IPAllocVertex(ByteType Count,
ByteType Tags,
IPPolygonStruct *PAdj,
IPVertexStruct *Pnext)
Description:
Allocates one Vertex Structure.
Parameters:
Count: | Entry into new vertex structure.
|
---|
Tags: | Entry into new vertex structure.
|
---|
PAdj: | Entry into new vertex structure.
|
---|
Pnext: | Entry into new vertex structure.
|
---|
Returned Value:
IPVertexStruct *: A new allocated vertex structure.
|
---|
Keywords:
allocation
(prsr_lib/allocate.c:346)
Prototype:
void IPFreeObject(IPObjectStruct *O)
Description:
Frees one Object Structure.
Parameters:
Returned Value:
Keywords:
allocation
(prsr_lib/allocate.c:471)
Prototype:
void IPFreeObjectList(IPObjectStruct *OFirst)
Description:
Free a list of Object structures.
Parameters:
Returned Value:
Keywords:
allocation
(prsr_lib/allocate.c:325)
Prototype:
void IPFreePolygon(IPPolygonStruct *P)
Description:
Frees one Polygon Structure.
Parameters:
Returned Value:
Keywords:
allocation
(prsr_lib/allocate.c:424)
Prototype:
void IPFreePolygonList(IPPolygonStruct *PFirst)
Description:
Free a list of Polygon structures.
Parameters:
Returned Value:
Keywords:
allocation
(prsr_lib/allocate.c:304)
Prototype:
void IPFreeVertex(IPVertexStruct *V)
Description:
Frees one Vertex Structure.
Parameters:
Returned Value:
Keywords:
allocation
(prsr_lib/allocate.c:377)
Prototype:
void IPFreeVertexList(IPVertexStruct *VFirst)
Description:
Free a, possibly circular, list of Vertex structures.
Parameters:
Returned Value:
Keywords:
allocation
(prsr_lib/ip_cnvrt.c:1144)
Prototype:
void IritClosedPolysToOpen(IPPolygonStruct *Pls)
Description:
Forces the given list of polygons to have open list of vertices
Parameters:
Pls: | Polygons to process, in place.
|
---|
Returned Value:
See Also:
IritOpenPolysToClosed
Keywords:
(prsr_lib/ip_cnvrt.c:148)
Prototype:
IPPolygonStruct *IritCurve2CtlPoly(CagdCrvStruct *Crv)
Description:
Routine to convert a single curve's control polygon into a polyline.
Parameters:
Crv: | To extract its control polygon as a polyline.
|
---|
Returned Value:
IPPolygonStruct *: A polyline representing Crv's control polygon.
|
---|
Keywords:
conversion
(prsr_lib/ip_cnvrt.c:87)
Prototype:
IPPolygonStruct *IritCurve2Polylines(CagdCrvStruct *Crv,
int SamplesPerCurve,
int Optimal)
Description:
Routine to convert one curve into a polyline with SamplesPerCurve samples.
If Optimal, attempt is made to optimally distribute the sampled points.
Parameters:
Crv: | To approximate as a polyline .
|
---|
SamplesPerCurve: | Number of samples to compute on the polyline.
|
---|
Optimal: | If FALSE samples are uniform in parametric space,
otherwise attempt is made to sample optimally.
|
---|
Returned Value:
IPPolygonStruct *: A polyline approximating Crv.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:836)
Prototype:
CagdCrvStruct *IritCurvesToCubicBzrCrvs(CagdCrvStruct *Crvs,
IPPolygonStruct **CtlPolys,
CagdBType DrawCurve,
CagdBType DrawCtlPoly,
CagdRType MaxArcLen)
Description:
Approximates an arbitrary list of curves into cubic Beziers curves.
Parameters:
Crvs: | To approximate as cubic Bezier curves.
|
---|
CtlPolys: | If we want control polygons as well (DrawCtlPoly == TRUE)
they will be placed herein.
|
---|
DrawCurve: | Do we want to draw the curves?
|
---|
DrawCtlPoly: | Do we want to draw the control polygons?
|
---|
MaxArcLen: | Tolerance for cubic Bezier approximation. See function
BzrApproxBzrCrvAsCubics.
|
---|
Returned Value:
CagdCrvStruct *: The cubic Bezier approximation, or NULL if DrawCurve
is FALSE.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:1175)
Prototype:
void IritOpenPolysToClosed(IPPolygonStruct *Pls)
Description:
Forces the given list of polygons to have closed list of vertices
Parameters:
Pls: | Polygons to process, in place.
|
---|
Returned Value:
See Also:
IritClosedPolysToOpen
Keywords:
(prsr_lib/iritprs2.c:1284)
Prototype:
IPObjectStruct *IritPrsrAppendObjLists(IPObjectStruct *OList1,
IPObjectStruct *OList2)
Description:
Appends two object lists together.
Parameters:
OList1, OList2: | Two lists to append.
|
---|
Returned Value:
IPPolygonStruct *: Appended list.
|
---|
Keywords:
linked lists
(prsr_lib/iritprs2.c:1209)
Prototype:
IPPolygonStruct *IritPrsrAppendPolyLists(IPPolygonStruct *PList1,
IPPolygonStruct *PList2)
Description:
Appends two poly lists together.
Parameters:
PList1, PList2: | Two lists to append.
|
---|
Returned Value:
IPPolygonStruct *: Appended list.
|
---|
Keywords:
linked lists
(prsr_lib/iritprs2.c:1135)
Prototype:
IPVertexStruct *IritPrsrAppendVrtxLists(IPVertexStruct *VList1,
IPVertexStruct *VList2)
Description:
Appends two vertex lists together.
Parameters:
VList1, VList2: | Two lists to append.
|
---|
Returned Value:
IPVertexStruct *: Appended list.
|
---|
Keywords:
linked lists
(prsr_lib/soc_clnt.c:590)
Prototype:
int IritPrsrClntAcceptConnect(int *PrgmInput, int *PrgmOutput)
Description:
Accept a connection. Must be called by clients at the beginning.
Parameters:
PrgmInput: | A handler to the Program's input channel.
|
---|
PrgmOutput: | handler to the Program's output channel.
|
---|
Returned Value:
int: TRUE, if succesful, FALSE otherwise.
|
---|
Keywords:
(prsr_lib/soc_clnt.c:643)
Prototype:
int IritPrsrClntCloseConnect(int PrgmInput, int PrgmOutput)
Description:
Close a connection. Must be called by clients at the end.
Parameters:
PrgmInput: | A handler to the Program's input channel.
|
---|
PrgmOutput: | handler to the Program's output channel.
|
---|
Returned Value:
int: TRUE, if succesful, FALSE otherwise.
|
---|
Keywords:
(prsr_lib/iritprs1.c:169)
Prototype:
void IritPrsrCloseStream(int Handler, int Free)
Description:
Close a data file for read/write.
Parameters:
Handler: | A handler to the open stream.
|
---|
Free: | If TURE, release content.
|
---|
Returned Value:
Keywords:
files
stream
parser
(prsr_lib/coerce.c:30)
Prototype:
CagdPointType IritPrsrCoerceCommonSpace(IPObjectStruct *PtObjList, int Type)
Description:
Given a set of points, returns the list's common denominator that spans
the space of all the points, taking into account type Type.
Parameters:
PtObjList: | List of points.
|
---|
Type: | Point type that we must span its space as well.
|
---|
Returned Value:
CagdPointType: Point type that spans the space of point type Type as
well as all points in PtObjList.
|
---|
Keywords:
coercion
(prsr_lib/coerce.c:119)
Prototype:
IPObjectStruct *IritPrsrCoerceObjectTo(IPObjectStruct *PObj, int NewType)
Description:
Coerces an object to a new object.
Points, vectors, control points and planes can always be coerced between
themselves using this routine by specifying the new object type desired
such as IP_OBJ_PLANE or control point type like CAGD_PT_E4_TYPE.
Control points of curves and surfaces may be coerced to a new type by
prescribing the needed point type as NewType, such as CAGD_PT_P2_TYPE.
Parameters:
PObj: | Object to coerce.
|
---|
NewType: | New type which can be object type like IP_OBJ_VECTOR or point
type like E2.
|
---|
Returned Value:
IPObjectStruct *: Newly coerced object.
|
---|
Keywords:
coercion
(prsr_lib/coerce.c:73)
Prototype:
CagdPointType IritPrsrCoercePtsListTo(IPObjectStruct *PtObjList, int Type)
Description:
Coerces a list of objects to Type.
Parameters:
PtObjList: | Coerce points/vectors/control points in this list to Type.
|
---|
Type: | Minimum space type to coerce to in PtObjList.
|
---|
Returned Value:
CagdPointType: The type coercion actualy took place with in PtObjList.
|
---|
Keywords:
coercion
(prsr_lib/iritprs1.c:1623)
Prototype:
IPObjectStruct *IritPrsrConcatFreeForm(IritPrsrFreeFormStruct *FreeForms)
Description:
Concatenate all freeform objects in FreeForms into a single list.
Parameters:
FreeForms: | Freeform geometry to process.
|
---|
Returned Value:
IPObjectStruct *: concatenated linked list.
|
---|
Keywords:
conversion
(prsr_lib/ip_fatal.c:29)
Prototype:
void IritPrsrFatalError(char *Msg)
Description:
Default trap for Irit parser errors.
This function prints the provided error message anddies.
Parameters:
Returned Value:
Keywords:
error handling
(prsr_lib/iritprs1.c:611)
Prototype:
IPObjectStruct *IritPrsrFlattenTree(IPObjectStruct *PObj)
Description:
Flattens out a tree hierarchy of objects into a linear list, in place.
Parameters:
PObj: | Object(s) to flatten out.
|
---|
Returned Value:
IPObjectStruct *: Flattened hierarchy.
|
---|
Keywords:
(prsr_lib/iritprs2.c:1391)
Prototype:
void IritPrsrForEachPoly(IPObjectStruct *OList,
void (*CallBack) (IPPolygonStruct *))
Description:
Iterates on Irit object list and calls CallBack function on every
polygon found, passing it a pointer to the polygon object.
Parameters:
OList: | Pointer to the Irit objects' linked list.
|
---|
CallBack: | allback function.
|
---|
Returned Value:
Keywords:
(prsr_lib/iritprs2.c:1417)
Prototype:
void IritPrsrForEachVertex(IPObjectStruct *OList,
void (*CallBack) (IPVertexStruct *))
Description:
Iterates on Irit object list and for each vertex in every polygon calls
CallBack function passing it a pointer to the vertex object.
Parameters:
OList: | Pointer to Irit objects' linked list.
|
---|
CallBack: | allback function.
|
---|
Returned Value:
Keywords:
(prsr_lib/iritprsb.c:263)
Prototype:
IPObjectStruct *IritPrsrGetBinObject(int Handler)
Description:
Routine to read one object from a given binary file, directly.
Objects may be recursively defined (as lists), in which case all are
read in this single call.
Parameters:
Handler: | A handler to the open stream.
|
---|
Returned Value:
IPObjectStruct *: Read object.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs1.c:322)
Prototype:
IPObjectStruct *IritPrsrGetDataFiles(char **DataFileNames,
int NumOfDataFiles,
int Messages,
int MoreMessages)
Description:
Reads data from a set of files specified by file names.
Messages and MoreMessages controls the level of printout to stderr.
Freeform geometry read in is handed out to a call back function named
IritPrsrProcessFreeForm before it is returned from this routine. This
is done so applications that do not want to deal with freeform shapes will
be able to provide a call back that processes the freeform shapes into
other geometry such as polygons.
Parameters:
DataFileNames: | Array of strings (file names) to process.
|
---|
NumOfDataFiles: | Number of elements in DataFileNames.
|
---|
Messages: | Do we want error messages?
|
---|
MoreMessages: | Do we want informative messages?
|
---|
Returned Value:
IPObjectStruct *: Objects read from all files.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs2.c:1238)
Prototype:
IPObjectStruct *IritPrsrGetLastObj(IPObjectStruct *OList)
Description:
Returns a pointer to last object of a list.
Parameters:
OList: | A list of objects.
|
---|
Returned Value:
IPPolygonStruct *: Last object in list OList.
|
---|
Keywords:
linked lists
last element
(prsr_lib/iritprs2.c:1164)
Prototype:
IPPolygonStruct *IritPrsrGetLastPoly(IPPolygonStruct *PList)
Description:
Returns a pointer to last polygon/line of a list.
Parameters:
PList: | A list of polygons.
|
---|
Returned Value:
IPPolygonStruct *: Last polygon in list PList.
|
---|
Keywords:
linked lists
last element
(prsr_lib/iritprs2.c:1086)
Prototype:
IPVertexStruct *IritPrsrGetLastVrtx(IPVertexStruct *VList)
Description:
Returns a pointer to last vertex of a list.
Parameters:
VList: | A list of vertices
|
---|
Returned Value:
IPVertexStruct *: Last vertex in VList.
|
---|
Keywords:
linked lists
last element
(prsr_lib/iritprs1.c:379)
Prototype:
IPObjectStruct *IritPrsrGetObjects(int Handler)
Description:
Routine to read the data from a given file.
Returns NULL if EOF was reached or error occured.
See also functions IritPrsrSetPolyListCirc, IritPrsrSetFlattenObjects,
and IritPrsrSetReadOneObject.
Parameters:
Handler: | A handler to the open stream.
|
---|
Returned Value:
IPObjectStruct *: Read object, or NULl if failed.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs2.c:1258)
Prototype:
IPObjectStruct *IritPrsrGetPrevObj(IPObjectStruct *OList, IPObjectStruct *O)
Description:
Returns a pointer to previous object in OList to O.
Parameters:
OList: | A list of objects.
|
---|
O: | For which the previous object in OList is pursuit.
|
---|
Returned Value:
IPVertexStruct *: Previous object to O in OList if found, NULL
otherwise.
|
---|
Keywords:
previous element
linked lists
(prsr_lib/iritprs2.c:1185)
Prototype:
IPPolygonStruct *IritPrsrGetPrevPoly(IPPolygonStruct *PList,
IPPolygonStruct *P)
Description:
Returns a pointer to previous polygon in PList to P.
Parameters:
PList: | A list of polygons.
|
---|
P: | For which the previous polygon in PList is pursuit.
|
---|
Returned Value:
IPVertexStruct *: Previous polygon to P in PList if found, NULL
otherwise.
|
---|
Keywords:
previous element
linked lists
(prsr_lib/iritprs2.c:1106)
Prototype:
IPVertexStruct *IritPrsrGetPrevVrtx(IPVertexStruct *VList, IPVertexStruct *V)
Description:
Returns a pointer to previous vertex in VList to V.
Parameters:
VList: | A list of vertices.
|
---|
V: | For which the previous vertex in VList is pursuit.
|
---|
Returned Value:
IPVertexStruct *: Previous vertex to V in VList if found, NULL
otherwise.
|
---|
Keywords:
previous element
linked lists
(prsr_lib/iritprs1.c:1087)
Prototype:
void IritPrsrInputUnGetC(int Handler, char c)
Description:
Routine to unget a single character from input stream.
Parameters:
Handler: | A handler to the open stream.
|
---|
c: | Character to unget.
|
---|
Returned Value:
Keywords:
files
parser
(prsr_lib/iritprs2.c:599)
Prototype:
int IritPrsrIsConvexPolygon(IPPolygonStruct *Pl)
Description:
Routine to test if the given polygon is convex (by IRIT definition) or
not.
Algorithm: The polygon is convex iff the normals generated from cross
products of two consecutive edges points to the same direction. The same
direction is tested by a positive dot product.
Parameters:
Pl: | To test for convexity.
|
---|
Returned Value:
int: TRUE if PL convex, FALSE otherwise.
|
---|
Keywords:
convexity
files
parser
(prsr_lib/iritprs2.c:380)
Prototype:
IPPolygonStruct *IritPrsrMergePolylines(IPPolygonStruct *Polys)
Description:
Merges seperated polylines into longer ones, as possible.
Given a list of polylines, matches end points and merged as possible
polylines with common end points, in place.
Parameters:
Polys: | Polylines to merge.
|
---|
Returned Value:
IPPolygonStruct *: Merged as possible polylines.
|
---|
Keywords:
merge
polyline
(prsr_lib/iritprs2.c:1366)
Prototype:
int IritPrsrObjListLen(IPObjectStruct *O)
Description:
Returns the length of a list of objects.
Parameters:
O: | Object list to compute its length.
|
---|
Returned Value:
int: Number of elements in O list.
|
---|
Keywords:
length
linked lists
(prsr_lib/iritprs1.c:82)
Prototype:
int IritPrsrOpenDataFile(char *FileName, int Read, int Messages)
Description:
Open a data file for read/write.
Data file can be either Ascii IRIT data file or binary IRIT data file.
A binary data file must have a ".bdt" (for Binary DaTa) file type.
Under unix, file names with the psotfix ".Z" are assumed compressed and
treated accordingly.
See also functions IritPrsrSetPolyListCirc, IritPrsrSetFlattenObjects,
and IritPrsrSetReadOneObject.
Parameters:
FileName: | To try and open.
|
---|
Read: | If TRUE assume a read operation, otheriwse write.
|
---|
Messages: | Do we want error/warning messages to stderr?
|
---|
Returned Value:
int: A handler to the open file, -1 if error.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs1.c:212)
Prototype:
int IritPrsrOpenStreamFromFile(FILE *f, int Read, int IsBinary, int IsPipe)
Description:
Converts an open file into a stream.
Parameters:
f: | A handle to the open file.
|
---|
Read: | TRUE for reading from f, FALSE for writing to f.
|
---|
IsBinary: | Is it a binary file?
|
---|
IsPipe: | Is it a pipe?
|
---|
Returned Value:
int: A handle on the constructed stream.
|
---|
Keywords:
(prsr_lib/iritprs1.c:250)
Prototype:
int IritPrsrOpenStreamFromSocket(int Soc, int Read, int IsBinary)
Description:
Converts an open socket into a stream.
Parameters:
Soc: | A handle to the open socket.
|
---|
Read: | TRUE for reading from f, FALSE for writing to f.
|
---|
IsBinary: | Is it a binary file?
|
---|
Returned Value:
int: A handle on the constructed stream.
|
---|
Keywords:
(prsr_lib/iritprs2.c:478)
Prototype:
int IritPrsrParseError(int LineNum, char **ErrorMsg)
Description:
Returns TRUE if error has happend since last call to this function during
data read or write, FALSE otherwise.
If error, then ErrorMsg is updated to point on static str describing it.
Parameters:
LineNum: | Line number of error, in file/stream.
|
---|
ErrorMsg: | To be updated with latest error to have happened in parser.
|
---|
Returned Value:
int: TRUE if error occured since last call, FALSE otherwise.
|
---|
Keywords:
error handling
files
parser
(prsr_lib/iritprs2.c:1344)
Prototype:
int IritPrsrPolyListLen(IPPolygonStruct *P)
Description:
Returns the length of a list of polygons.
Parameters:
P: | Polygon list to compute its length.
|
---|
Returned Value:
int: Number of elements in P list.
|
---|
Keywords:
length
linked lists
(prsr_lib/ip_procs.c:32)
Prototype:
IPObjectStruct *IritPrsrProcessFreeForm(IritPrsrFreeFormStruct *FreeForms)
Description:
Default processor of read freeform geometry.
This routine does not process the freeform geometry in any way.
Other programs can, for example, convert the freeform shapes to polygons
or polylines using the call back function or purge the freeform data if
it is not supported.
Parameters:
FreeForms: | Freeform geometry to process.
|
---|
Returned Value:
IPObjectStruct *: Processed freeform geometry. This function simply
returns what it got.
|
---|
Keywords:
conversion
(prsr_lib/iritprs1.c:460)
Prototype:
IPObjectStruct *IritPrsrProcessReadObject(IPObjectStruct *PObj)
Description:
Process a read object, in place, before returning it to the caller.
List objects of zero or one elements are eliminated.
Attributes are propagated throughout the hierarchy.
If FlattenTree mode (see IritPrsrSetFlattenObjects) hierarchy is
flattened out.
Parameters:
Returned Value:
IPObjectStruct *: Processed object, in place.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs1.c:555)
Prototype:
void IritPrsrPropagateAttrs(IPObjectStruct *PObj, IPAttributeStruct *Attrs)
Description:
Propagate attributes from list objects down into their elements.
Parameters:
PObj: | To propagate down Attrs attributes.
|
---|
Attrs: | Attributes to propagate.
|
---|
Returned Value:
Keywords:
attributes
files
parser
(prsr_lib/iritprsb.c:1078)
Prototype:
void IritPrsrPutBinObject(int Handler, IPObjectStruct *PObj)
Description:
Routine to write one object to a given binary file, directly.
Objects may be recursively defined, as lists of objects.
Parameters:
Handler: | A handler to the open stream. *
|
---|
PObj: | Object to write.
|
---|
Returned Value:
Keywords:
files
parser
(prsr_lib/iritprs2.c:692)
Prototype:
void IritPrsrPutObjectToFile(FILE *f, IPObjectStruct *PObj)
Description:
Routine to print the data from given object into given file FileName.
If FileName is NULL or empty, print using IritPrsrPrintFunc.
See function IritPrsrSetPrintFunc, IritPrsrSetFloatFormat.
Parameters:
f: | Output stream.
|
---|
PObj: | Object to put on output stream.
|
---|
Returned Value:
Keywords:
files
(prsr_lib/iritprs2.c:733)
Prototype:
void IritPrsrPutObjectToHandler(int Handler, IPObjectStruct *PObj)
Description:
Routine to print the data from given object into given file designated via
Handler.
Parameters:
Handler: | A handler to the open stream.
|
---|
PObj: | Object to put on output stream.
|
---|
Returned Value:
See Also:
IritPrsrSetPrintFunc
IritPrsrSetFloatFormat
IritPrsrPrintFunc
Keywords:
files
(prsr_lib/iritprs2.c:222)
Prototype:
*****************************************************************************/
IPObjectStruct *IritPrsrReverseObjList(IPObjectStruct *PObj)
Description:
Reverses a list of objects, in place.
Parameters:
PObj: | A list of objects to reverse.
|
---|
Returned Value:
IPObjectStruct *: Reverse list of objects, in place.
|
---|
Keywords:
reverse
files
parser
(prsr_lib/iritprs2.c:253)
Prototype:
IPPolygonStruct *IritPrsrReversePlList(IPPolygonStruct *PPl)
Description:
Reverses a list of polygons, in place.
Parameters:
PPl: | A list of polygons to reverse.
|
---|
Returned Value:
IPPolygonStruct *: Reversed list of polygons, in place.
|
---|
Keywords:
reverse
files
parser
(prsr_lib/iritprs2.c:286)
Prototype:
void IritPrsrReverseVrtxList(IPPolygonStruct *Pl)
Description:
Reverses the vertex list of a given polygon. This is used mainly to
reverse polygons such that cross product of consecutive edges which form
a convex corner will point in the polygon normal direction.
Parameters:
Pl: | A polygon to reverse its vertex list, in place.
|
---|
Returned Value:
Keywords:
reverse
files
parser
(prsr_lib/iritprs2.c:347)
Prototype:
IPVertexStruct *IritPrsrReverseVrtxList2(IPVertexStruct *PVrtx)
Description:
Reverses a list of vertices of a polyline, in place. The list is assumed
to be non circular and hence can be treated as a polyline.
Parameters:
PVertex: | A list of vertices to reverse.
|
---|
Returned Value:
IPPolygonStruct *: Reversed list of vertices, in place.
|
---|
Keywords:
reverse
files
parser
(prsr_lib/iritprs1.c:150)
Prototype:
int IritPrsrSenseBinaryFile(char *FileName)
Description:
Senses if a given file (name) is a binary or a text file.
Parameters:
Returned Value:
int: TRUE if binary, FALSE if text.
|
---|
Keywords:
(prsr_lib/iritprs1.c:512)
Prototype:
int IritPrsrSetFlattenObjects(int Flatten)
Description:
Controls the hierarchy flattening of a read object.
Parameters:
Circ: | If TRUE, list objects will be flattened out to a long linear
list. If FALSE, read object will be unchanged.
|
---|
Returned Value:
int: Old value of flatten state.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs2.c:1462)
Prototype:
void IritPrsrSetFloatFormat(char *FloatFormat)
Description:
Sets the floating point printing format.
Parameters:
FloatFormat: | A printf style floating point printing format string.
|
---|
Returned Value:
Keywords:
files
(prsr_lib/iritprs1.c:489)
Prototype:
int IritPrsrSetPolyListCirc(int Circ)
Description:
Controls vertex list in polygons. Do we want it circular?
Parameters:
Circ: | If TRUE, vertex lists of polygons will be circular. If FALSE,
the lists will be NULL terminated.
|
---|
Returned Value:
Keywords:
files
parser
(prsr_lib/iritprs2.c:1444)
Prototype:
void IritPrsrSetPrintFunc(IritPrsrPrintFuncType PrintFunc)
Description:
Sets the printing function to call if needs to redirect printing.
Parameters:
PrintFunc: | A function that gets a single string it should print.
|
---|
Returned Value:
Keywords:
files
(prsr_lib/iritprs1.c:536)
Prototype:
void IritPrsrSetReadOneObject(int OneObject)
Description:
Controls the way the Ascii parser handle multiple objects in a file.
Parameters:
Circ: | If TRUE, only next object will be read by IritPrsrGetObjectst.
If FALSE, objects will be read until EOF is detected and
placed in a linked list.
|
---|
Returned Value:
Keywords:
files
parser
(prsr_lib/soc_srvr.c:652)
Prototype:
int IritPrsrSrvrExecAndConnect(char *Program,
int *PrgmInput,
int *PrgmOutput,
int IsBinary)
Description:
Executes the given program and connect to it io ports.
Parameters:
Program: | Name of program to execute. Name can be NULL, in which the
user is prompt to execute the program manually.
|
---|
PrgmInput: | A handler to the Program's input channel.
|
---|
PrgmOutput: | handler to the Program's output channel.
|
---|
IsBinary: | If TRUE sets channels to binary, if FALSE channels are text.
This is assuming no IRIT_BIN_IPC environment variable is
set, when communication will always be binary.
|
---|
Returned Value:
int: TRUE, if succesful, FALSE otherwise.
|
---|
Keywords:
(prsr_lib/soc_srvr.c:783)
Prototype:
int IritPrsrSrvrKillAndDisConnect(int Kill, int PrgmInput, int PrgmOutput)
Description:
Optionally kill and close channels to another process.
Parameters:
Kill: | If TRUE, send a KILL message to the other process.
|
---|
PrgmInput: | A handler to the Program's input channel.
|
---|
PrgmOutput: | handler to the Program's output channel.
|
---|
Returned Value:
int: TRUE, if succesful, FALSE otherwise.
|
---|
Keywords:
(prsr_lib/iritprs2.c:671)
Prototype:
void IritPrsrStderrObject(IPObjectStruct *PObj)
Description:
Routine to print the data from given object into stderr.
Parameters:
PObj: | To be put out to stderr.
|
---|
Returned Value:
Keywords:
files
(prsr_lib/iritprs2.c:653)
Prototype:
void IritPrsrStdoutObject(IPObjectStruct *PObj)
Description:
Routine to print the data from given object into stdout.
Parameters:
PObj: | To be put out to stdout.
|
---|
Returned Value:
Keywords:
files
(prsr_lib/iritprs2.c:83)
Prototype:
int IritPrsrUpdatePolyPlane(IPPolygonStruct *PPoly)
Description:
Routine to update the Plane equation of the given polygon by the order
of the most robust three vertices of that polygon to define the normal.
Parameters:
PPoly: | To update its normal/plane equation.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs2.c:161)
Prototype:
int IritPrsrUpdatePolyPlane2(IPPolygonStruct *PPoly, VectorType Vin)
Description:
Routine to update the Plane equation of the given polygon such that the
Vin vertex will be in the positive side of it.
Parameters:
PPoly: | To update its normal/plane equation.
|
---|
Vin: | A vertex to be considered in the inside, respective to PPoly.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
parser
(prsr_lib/iritprs2.c:193)
Prototype:
void IritPrsrUpdateVrtxNrml(IPPolygonStruct *PPoly, VectorType DefNrml)
Description:
Routine to update all vertices in polygon to hold a default normal if
have none already.
Parameters:
PPoly: | Polygon to update normal information.
|
---|
DefNrml: | Normal tp use in update.
|
---|
Returned Value:
Keywords:
files
parser
(prsr_lib/iritprs2.c:1313)
Prototype:
int IritPrsrVrtxListLen(IPVertexStruct *V)
Description:
Returns the length of a list of vertices.
Parameters:
V: | Vertex list to compute its length.
|
---|
Returned Value:
int: Number of elements in V list.
|
---|
Keywords:
length
linked lists
(prsr_lib/ip_cnvrt.c:807)
Prototype:
void IritSetCurvesToCubicBzrTol(RealType Tolerance)
Description:
Sets the tolerance that is used by the Bezier to Cubic Bezier
conversion routines IritCurvesToCubicBzrCrvs and
IritSurfacesToCubicBzrCrvs
Parameters:
Tolerance: | Of approximation to use.
|
---|
Returned Value:
Keywords:
approximation
(prsr_lib/ip_cnvrt.c:242)
Prototype:
IPPolygonStruct *IritSurface2CtlMesh(CagdSrfStruct *Srf)
Description:
Routine to convert a single surface's control mesh into a polylines object.
Parameters:
Srf: | To extract its control mesh as a polylines.
|
---|
Returned Value:
IPPolygonStruct *: A polylines object representing Srf's control mesh.
|
---|
Keywords:
conversion
(prsr_lib/ip_cnvrt.c:294)
Prototype:
IPPolygonStruct *IritSurface2Polygons(CagdSrfStruct *Srf,
int FourPerFlat,
RealType FineNess,
int ComputeUV,
int Optimal)
Description:
Routine to approximate a single surface by polygons.
FourPerFlat cause four triangles from each flat patch, two otherwise.
FineNess is an estimate on number of polygons for each side of mesh if
Optimal = 0, otherwise a FineNess curvature control on the maximal
distance between the surface and its polygonal approximation.
Optimal is a two digits number where the units hold the subdivision
strategy and the tens the termination criteria.
Parameters:
Srf: | To approximate using polygons.
|
---|
FourPerFlat: | If TRUE, four triangle per flat surface patch are created,
otherwise only two.
|
---|
FineNess: | Fineness control on polygonal approximation. The larger
this number is the finer the approximation becomes. 10 is
a good compromise when Optimal is FALSE.
|
---|
ComputeUV: | Do we want UV parameter values with the vertices of the
triangles?
|
---|
Optimal: | If FALSE (0) then parametric space of Srf is sampled
|
---|
uniformely. Otherwise: |
If the tenths digit of Optimal is equal to
1. Subdivide the surface alternatively in U and V.
2. Subdivide the surface in the direction that minimizes
the error of the approximation
If the units digit of Optimal is equal to
0. No real error analysis. The fastest way.
1. Use curvature surface analysis to decide where to
subdivide. Much slower than 0.
2. Use a bilinear surface fit to estimate error. Somewhat
slower than 0.
3. Combine 1 and 2 for a bilinar fit error measure with
curvature analysis. Very slow.
|
---|
Returned Value:
IPPolygonStruct *: Resulting polygons that approximates Srf.
|
---|
Keywords:
approximation
conversion
(prsr_lib/ip_cnvrt.c:180)
Prototype:
IPPolygonStruct *IritSurface2Polylines(CagdSrfStruct *Srf,
int NumOfIsolines[2],
int SamplesPerCurve,
int Optimal)
Description:
Routine to convert a single surface into polylines with SamplesPerCurve
samples, NumOfIsolines isolines into a polylines object.
If NumOfIsolines has negative value, its absolute value is heuristically
used to derive a new NumOfIsolines number for it.
If Optimal, attempt is made to optimally distribute the sampled points.
Parameters:
Srf: | To approximate as a polyline .
|
---|
NumOfIsolines: | Number of isocurves to extract, in each direction.
|
---|
SamplesPerCurve: | Number of samples to compute on the polyline.
|
---|
Optimal: | If FALSE samples are uniform in parametric space,
otherwise attempt is made to sample optimally.
|
---|
Returned Value:
IPPolygonStruct *: A polylines object approximating Srf.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:909)
Prototype:
CagdCrvStruct *IritSurfacesToCubicBzrCrvs(CagdSrfStruct *Srfs,
IPPolygonStruct **CtlMeshes,
CagdBType DrawSurface,
CagdBType DrawMesh,
int NumOfIsolines[2],
CagdRType MaxArcLen)
Description:
Approximates an arbitrary list of surfaces into cubic Beziers curves.
Parameters:
Srfs: | To approximate as cubic Bezier curves.
|
---|
CtlMeshes: | If we want control meshes as well (DrawMesh == TRUE)
they will be placed herein.
|
---|
DrawSurface: | Do we want to draw the surfaces?
|
---|
DrawMesh: | Do we want to draw the control meshes?
|
---|
NumOfIsolines: | umber of isocurves to extract, in each direction.
|
---|
MaxArcLen: | Tolerance for cubic Bezier approximation. See function
BzrApproxBzrCrvAsCubics.
|
---|
Returned Value:
CagdCrvStruct *: The cubic Bezier approximation, or NULL if DrawSurface
is FALSE.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:616)
Prototype:
IPPolygonStruct *IritTrimSrf2CtlMesh(TrimSrfStruct *TrimSrf)
Description:
Routine to convert a single trimmed surface's control mesh into a
polylines object.
Parameters:
TrimSrf: | To extract its control mesh as a polylines.
|
---|
Returned Value:
IPPolygonStruct *: A polylines object representing TrimSrf's control
mesh.
|
---|
Keywords:
conversion
(prsr_lib/ip_cnvrt.c:454)
Prototype:
IPPolygonStruct *IritTrimSrf2Polygons(TrimSrfStruct *TrimSrf,
int FourPerFlat,
RealType FineNess,
int ComputeUV,
int Optimal)
Description:
Routine to approximate a single trimmed surface by polygons.
FourPerFlat cause four triangles from each flat patch, two otherwise.
FineNess is an estimate on number of polygons for each side of mesh if
Optimal = 0, otherwise a FineNess curvature control on the maximal
distance between the surface and its polygonal approximation.
Optimal is a two digits number where the units hold the subdivision
strategy and the tens the termination criteria.
Parameters:
TrimSrf: | To approximate using polygons.
|
---|
FourPerFlat: | If TRUE, four triangle per flat surface patch are created,
otherwise only two.
|
---|
FineNess: | Fineness control on polygonal approximation. The larger
this number is the finer the approximation becomes. 10 is
a good compromise when Optimal is FALSE.
|
---|
ComputeUV: | Do we want UV parameter values with the vertices of the
triangles?
|
---|
Optimal: | If FALSE (0) then parametric space of TrimSrf is sampled
|
---|
uniformely. Otherwise: |
If the tenths digit of Optimal is equal to
1. Subdivide the surface alternatively in U and V.
2. Subdivide the surface in the direction that minimizes
the error of the approximation
If the units digit of Optimal is equal to
0. No real error analysis. The fastest way.
1. Use curvature surface analysis to decide where to
subdivide. Much slower than 0.
2. Use a bilinear surface fit to estimate error. Somewhat
slower than 0.
3. Combine 1 and 2 for a bilinar fit error measure with
curvature analysis. Very slow.
|
---|
Returned Value:
IPPolygonStruct *: Resulting polygons that approximates TrimSrf.
|
---|
Keywords:
approximation
conversion
(prsr_lib/ip_cnvrt.c:549)
Prototype:
IPPolygonStruct *IritTrimSrf2Polylines(TrimSrfStruct *TrimSrf,
int NumOfIsolines[2],
int SamplesPerCurve,
int Optimal,
int TrimmingCurves,
int IsoParamCurves)
Description:
Routine to convert a single trimmed surface into polylines with
SamplesPerCurve samples, NumOfIsolines isolines into a polylines object.
If NumOfIsolines has negative value, its absolute value is heuristically
used to derive a new NumOfIsolines number for it.
If Optimal, attempt is made to optimally distribute the sampled points.
Parameters:
TrimSrf: | To approximate as a polyline .
|
---|
NumOfIsolines: | Number of isocurves to extract, in each direction.
|
---|
SamplesPerCurve: | Number of samples to compute on the polyline.
|
---|
Optimal: | If FALSE samples are uniform in parametric space,
otherwise attempt is made to sample optimally.
|
---|
TrimmingCurves: | Do we want the trimming curves as well.
|
---|
IsoParamCurves: | Do we want trimmed isoparametric curves.
|
---|
Returned Value:
IPPolygonStruct *: A polylines object approximating TrimSrf.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:974)
Prototype:
CagdCrvStruct *IritTrimSrfsToCubicBzrCrvs(TrimSrfStruct *TrimSrfs,
IPPolygonStruct **CtlMeshes,
CagdBType DrawTrimSrf,
CagdBType DrawMesh,
int NumOfIsolines[2],
CagdRType MaxArcLen)
Description:
Approximates an arbitrary list of trimmed surfaces into cubic Beziers
curves. Only isoparametric curves are extarcted (no trimming curves).
Parameters:
TrimSrfs: | To approximate as cubic Bezier curves.
|
---|
CtlMeshes: | If we want control meshes as well (DrawMesh == TRUE)
they will be placed herein.
|
---|
DrawTrimSrf: | Do we want to draw the surfaces?
|
---|
DrawMesh: | Do we want to draw the control meshes?
|
---|
NumOfIsolines: | umber of isocurves to extract, in each direction.
|
---|
MaxArcLen: | Tolerance for cubic Bezier approximation. See function
BzrApproxBzrCrvAsCubics.
|
---|
Returned Value:
CagdCrvStruct *: The cubic Bezier approximation, or NULL if DrawSurface
is FALSE.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:784)
Prototype:
IPPolygonStruct *IritTrivar2CtlMesh(TrivTVStruct *Trivar)
Description:
Routine to convert a single trivariate's control mesh into a polylines
object.
Parameters:
Trivar: | To extract its control mesh as a polylines.
|
---|
Returned Value:
IPPolygonStruct *: A polylines object representing Trivar's
control mesh.
|
---|
Keywords:
conversion
(prsr_lib/ip_cnvrt.c:646)
Prototype:
IPPolygonStruct *IritTrivar2Polygons(TrivTVStruct *Trivar,
int FourPerFlat,
RealType FineNess,
int ComputeUV,
int Optimal)
Description:
Routine to approximate a single trivariate by polygons. Six faces of the
trivariate are extracted as six surfaces that are displayed.
Parameters:
Trivar: | To approximate using polygons.
|
---|
FourPerFlat: | See IritSurface2Polygons.
|
---|
FineNess: | See IritSurface2Polygons.
|
---|
ComputeUV: | See IritSurface2Polygons.
|
---|
Optimal: | See IritSurface2Polygons.
|
---|
Returned Value:
IPPolygonStruct *: Resulting polygons that approximates Srf.
|
---|
Keywords:
approximation
conversion
(prsr_lib/ip_cnvrt.c:704)
Prototype:
IPPolygonStruct *IritTrivar2Polylines(TrivTVStruct *Trivar,
int NumOfIsolines[3],
int SamplesPerCurve,
int Optimal)
Description:
Routine to convert a single trivariate function into polylines with
SamplesPerCurve samples, NumOfIsolines isolines into a polylines object.
If NumOfIsolines has negative value, its absolute value is heuristically
used to derive a new NumOfIsolines number for it.
If Optimal, attempt is made to optimally distribute the sampled points.
Parameters:
Trivar: | To approximate as a polyline .
|
---|
NumOfIsolines: | Number of isocurves to extract, in each direction.
|
---|
SamplesPerCurve: | Number of samples to compute on the polyline.
|
---|
Optimal: | If FALSE samples are uniform in parametric space,
otherwise attempt is made to sample optimally.
|
---|
Returned Value:
IPPolygonStruct *: A polylines object approximating Trivar.
|
---|
Keywords:
conversion
approximation
(prsr_lib/ip_cnvrt.c:1043)
Prototype:
CagdCrvStruct *IritTrivarToCubicBzrCrvs(TrivTVStruct *Trivar,
IPPolygonStruct **CtlMeshes,
CagdBType DrawSurface,
CagdBType DrawMesh,
int NumOfIsolines[2],
CagdRType MaxArcLen)
Description:
Routine to convert a single trivariate function into polylines with
SamplesPerCurve samples, NumOfIsolines isolines into a polylines object.
If NumOfIsolines has negative value, its absolute value is heuristically
used to derive a new NumOfIsolines number for it.
If Optimal, attempt is made to optimally distribute the sampled points.
Parameters:
Trivar: | To approximate as a set of cubic bezier curves.
|
---|
CtlMeshes: | If we want control meshes as well (DrawMesh == TRUE)
they will be placed herein.
|
---|
DrawTrivar: | Do we want to draw the trivariate function?
|
---|
DrawMesh: | Do we want to draw the control meshes?
|
---|
NumOfIsolines: | umber of isocurves to extract, in each direction.
|
---|
MaxArcLen: | Tolerance for cubic Bezier approximation. See function
BzrApproxBzrCrvAsCubics.
|
---|
Returned Value:
CagdCrvStruct *: A list of curves approximating Trivar.
|
---|
Keywords:
conversion
approximation
(prsr_lib/allocate.c:525)
Prototype:
int ListObjectFind(IPObjectStruct *PObjList, IPObjectStruct *PObj)
Description:
Returns TRUE if PObj is an object in list PObjList or in a sublist of
PObjList, recursively.
Parameters:
PObjList: | To search for PObj in.
|
---|
PObj: | The element to search in PObjList.
|
---|
Returned Value:
int: TRUE if PObj was found in PObjList, FALSE otherwise.
|
---|
Keywords:
linked lists
find
(prsr_lib/allocate.c:589)
Prototype:
IPObjectStruct *ListObjectGet(IPObjectStruct *PObj, int Index)
Description:
Returns the object number Index in list of PObjList object.
Parameters:
PObj: | A list object to extract one object from.
|
---|
Index: | Index of object to extractfrom PObj.
|
---|
Returned Value:
IPObjectStruct *: Index object in list PObj, or NULL if no such thing.
|
---|
Keywords:
lists
find
(prsr_lib/allocate.c:561)
Prototype:
void ListObjectInsert(IPObjectStruct *PObj,
int Index,
IPObjectStruct *PObjItem)
Description:
Insert an object PObjItem at index Index into a list of objects, PObj.
Parameters:
PObj: | A list of objects to insert PObjItem into.
|
---|
Index: | Index where PObjItem should enter PObj.
|
---|
PObjItem: | Eleent to insert into the list PObj.
|
---|
Returned Value:
Keywords:
lists
insert
(prsr_lib/allocate.c:495)
Prototype:
int ListObjectLength(IPObjectStruct *PObj)
Description:
Returns the length of a list, given a list of objects.
Parameters:
PObj: | A list of objects to find its length.
|
---|
Returned Value:
int: Resulting length of list PObj.
|
---|
Keywords:
linked lists
length
(prsr_lib/allocate.c:1274)
Prototype:
void ReallocNewTypeObject(IPObjectStruct *PObj, IPObjStructType ObjType)
Description:
Routine to reallocate as necessary and object to a new object type.
Parameters:
PObj: | Object to reallocated as a new object of type ObjType.
|
---|
ObjType: | New type for object PObj.
|
---|
Returned Value:
Keywords:
allocation
(prsr_lib/soc_clnt.c:501)
Prototype:
void SocClientCloseSocket(int Handler)
Description:
Close the client's socket.
Parameters:
Handler: | he socket info handler index. *
|
---|
Returned Value:
Keywords:
ipc
(prsr_lib/soc_clnt.c:295)
Prototype:
int SocClientCreateSocket(int BinaryIPC, int Read)
Description:
Opens the client's socket. Returns handler if succesful.
Parameters:
BinaryIPC: | Do we want to communicate text or binary?
|
---|
Read: | Is this socket for read (TRUE) or write (FALSE).
|
---|
Returned Value:
int: Non negative handler if successful, -1 otherwise.
|
---|
Keywords:
ipc
(prsr_lib/soc_clnt.c:91)
Prototype:
void SocEchoInput(int Handler, int EchoInput)
Description:
Sets echo printing of read input.
Parameters:
Handler: | he socket info handler index.
|
---|
EchoInput: | TRUE to echo every character read in.
|
---|
Returned Value:
Keywords:
ipc
(prsr_lib/soc_clnt.c:110)
Prototype:
int SocReadCharNonBlock(int Handler)
Description:
Non blocking read of a single character.
Returns EOF if no data is found.
Parameters:
Handler: | he socket info handler index.
|
---|
Returned Value:
int: Read character or EOF if none found.
|
---|
Keywords:
ipc
(prsr_lib/soc_clnt.c:251)
Prototype:
char *SocReadLineNonBlock(int Handler)
Description:
Non blocking read of a single line. Returns NULL if no line is available.
Parameters:
Handler: | he socket info handler index.
|
---|
Returned Value:
char *: Read line, or NULL if unavailable.
|
---|
Keywords:
ipc
(prsr_lib/soc_clnt.c:547)
Prototype:
IPObjectStruct *SocReadOneObject(int Handler)
Description:
Attempts to read (non blocking) an object from socket.
If read is successful the object is returned, otherwise NULL is returned.
Parameters:
Handler: | he socket info handler index. *
|
---|
Returned Value:
IPObjectStruct *: An object if read one, NULL otherwise.
|
---|
Keywords:
ipc
(prsr_lib/soc_srvr.c:415)
Prototype:
int SocServerAcceptConnection(int Handler)
Description:
Accepts a client socket connection.
This function blocks until a connection with a client is established.
Parameters:
Handler: | he socket info handler index.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
ipc
(prsr_lib/soc_srvr.c:555)
Prototype:
int SocServerActive(int Handler)
Description:
Returns TRUE if connection is alive and active.
Parameters:
Handler: | he socket info handler index.
|
---|
Returned Value:
int: TRUE if connection to client exists.
|
---|
Keywords:
ipc
(prsr_lib/soc_srvr.c:500)
Prototype:
void SocServerCloseSocket(int Handler)
Description:
Closes a server socket/connection.
Parameters:
Handler: | he socket info handler index.
|
---|
Returned Value:
Keywords:
ipc
(prsr_lib/soc_srvr.c:228)
Prototype:
int SocServerCreateSocket(int BinaryIPC, int Read)
Description:
Creates a server socket. Returns handler if successful. Also sets the
IRIT_SERVER_PORT environment variable to the allocated socket.
Parameters:
BinaryIPC: | Do we want to communicate text or binary?
|
---|
Read: | Is this socket for read (TRUE) or write (FALSE).
|
---|
Returned Value:
int: Non negative handler if successful, -1 otherwise.
|
---|
Keywords:
ipc
(prsr_lib/soc_srvr.c:101)
Prototype:
void SocWriteChar(int Handler, char c)
Description:
Writes a single char to client's socket.
Parameters:
Handler: | he socket info handler index.
|
---|
c: | Character to write.
|
---|
Returned Value:
Keywords:
ipc
(prsr_lib/soc_srvr.c:162)
Prototype:
void SocWriteLine(int Handler, char *Line, int LineLen)
Description:
Writes a single line of line length characters.
Parameters:
Handler: | he socket info handler index.
|
---|
Line: | Line to write.
|
---|
LineLen: | Length of line to write.
|
---|
Returned Value:
Keywords:
ipc
(prsr_lib/soc_srvr.c:610)
Prototype:
void SocWriteOneObject(int Handler, IPObjectStruct *PObj)
Description:
Attempts to write an object to a socket.
Parameters:
Handler: | he socket info handler index.
|
---|
PObj: | Object to write to the client's socket.
|
---|
Returned Value:
Keywords:
ipc
(prsr_lib/trim_wrt.c:34)
Prototype:
int TrimWriteTrimmedSrfToFile(TrimSrfStruct *TrimSrfs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write a trimmed surface to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TrimSrfs: | To be saved in stream.
|
---|
FileName: | File name where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
(prsr_lib/trim_wrt.c:76)
Prototype:
int TrimWriteTrimmedSrfToFile2(TrimSrfStruct *TrimSrfs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write trimmed surface(s) to the given stream.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TrimSrfs: | To be saved in stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
stream
(prsr_lib/trivread.c:316)
Prototype:
TrivTVStruct *TrivBspTVReadFromFile(char *FileName,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file Bspline trivariates.
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the trivariate from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrivTVStruct *: The read trivariate, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/triv_wrt.c:332)
Prototype:
int TrivBspTVWriteToFile2(TrivTVStruct *TVs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write Bspline trivariates to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
trivariates
(prsr_lib/trivread.c:126)
Prototype:
TrivTVStruct *TrivBzrTVReadFromFile(char *FileName,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file Bezier trivariates.
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the trivariate from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrivTVStruct *: The read trivariate, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/trivread.c:379)
Prototype:
TrivTVStruct *TrivBspTVReadFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a Bezier trivariate.
If NameWasRead is TRUE, it is assumed prefix "[TRIVAR BSPLINE" has
already been read. This is useful for a global parser which invokes this
routine to read from a file several times as a parent controller.
For exactly this reason, the given file descriptor is NOT closed in the
end.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of trivariate.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | If FALSE, also reads the TRIVAR BEZIER prefix.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrivTVStruct *: The read trivariate, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/trivread.c:189)
Prototype:
TrivTVStruct *TrivBzrTVReadFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a Bezier trivariate.
If NameWasRead is TRUE, it is assumed prefix "[TRIVAR BEZIER" has
already been read. This is useful for a global parser which invokes this
routine to read from a file several times as a parent controller.
For exactly this reason, the given file descriptor is NOT closed in the
end.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of trivariate.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | If FALSE, also reads the TRIVAR BEZIER prefix.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrivTVStruct *: The read trivariate, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/triv_wrt.c:290)
Prototype:
int TrivBspTVWriteToFile(TrivTVStruct *TVs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write Bspline trivariates to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in file f.
|
---|
FileName: | File name where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
trivariates
(prsr_lib/triv_wrt.c:169)
Prototype:
int TrivBzrTVWriteToFile(TrivTVStruct *TVs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write Bezier trivariates to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in file.
|
---|
FileName: | File name where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
trivariates
(prsr_lib/triv_wrt.c:211)
Prototype:
int TrivBzrTVWriteToFile2(TrivTVStruct *TVs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write Bezier trivariates to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
trivariates
(prsr_lib/trimread.c:91)
Prototype:
TrimSrfStruct *TrimReadTrimmedSrfFromFile2(int Handler,
CagdBType NameWasRead,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file a trimmed surface.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of trivariate.
Assumes the [TRIMSRF prefix was read if NameWasRead.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
NameWasRead: | If FALSE, also reads the TRIVAR BEZIER prefix.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrimSrfStruct *: The read trimmed surface, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/trivread.c:30)
Prototype:
TrivTVStruct *TrivTVReadFromFile(char *FileName, char **ErrStr, int *ErrLine)
Description:
Reads from a file trivariates.
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the trivariate from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrivTVStruct *: The read trivariate, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/trimread.c:32)
Prototype:
TrimSrfStruct *TrimReadTrimmedSrfFromFile(char *FileName,
char **ErrStr,
int *ErrLine)
Description:
Reads from a file trimmed surfaces.
If error is detected in reading the file, ErrStr is set to a string
describing the error and Line to the line it occured in file.
If no error is detected *ErrStr = NULL.
Parameters:
FileName: | To read the trimmed surface from.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrimSrfStruct *: The read trimmed surface, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/trivread.c:90)
Prototype:
TrivTVStruct *TrivTVReadFromFile2(int Handler, char **ErrStr, int *ErrLine)
Description:
Reads from a file a trivariate.
If error is found in reading the file, ErrStr is set to a string
describing it and ErrLine to line it occured in file relative to begining
of trivariate.
If no error is detected *ErrStr is set to NULL.
Parameters:
Handler: | A handler to the open stream.
|
---|
ErrStr: | Will be initialized if an error has occured.
|
---|
ErrLine: | Line number in file FileName of the error, if occured.
|
---|
Returned Value:
TrivTVStruct *: The read trivariate, or NULL if an error occured.
|
---|
Keywords:
files
read
trivariates
(prsr_lib/triv_wrt.c:34)
Prototype:
int TrivTVWriteToFile(TrivTVStruct *TVs,
char *FileName,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write trivariates to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in file f.
|
---|
FileName: | File name where output should go to.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
trivariates
(prsr_lib/triv_wrt.c:85)
Prototype:
int TrivTVWriteToFile2(TrivTVStruct *TVs,
int Handler,
int Indent,
char *Comment,
char **ErrStr)
Description:
Generic routine to write trivariates to the given file.
If Comment is NULL, no comment is printed, if "" only internal comment.
Parameters:
TVs: | To be saved in stream.
|
---|
Handler: | A handler to the open stream.
|
---|
Indent: | Column in which all printing starts at.
|
---|
Comment: | Optional comment to describe the geometry.
|
---|
ErrStr: | If failed, ErrStr will be set to describe the problem.
|
---|
Returned Value:
int: TRUE if succesful, FALSE otherwise.
|
---|
Keywords:
files
write
trivariates
(prsr_lib/iritprs1.c:790)
Prototype:
void _IPGetCloseParenToken(int Handler)
Description:
Routine to get close paren token from FILE f.
This function invokes the parser's abort routine, if no close paren.
Parameters:
Handler: | A handler to the open stream.
|
---|
Returned Value:
Keywords:
(prsr_lib/iritprs1.c:1241)
Prototype:
IPTokenType _IPGetToken(int Handler, char *StringToken)
Description:
Routine to get the next token out of the input file f as token number.
StringToken must be allocated before calling this routine!
Parameters:
Handler: | A handler to the open stream.
|
---|
StringToken: | String token will be placed herein.
|
---|
Returned Value:
IPTokenType: Token as a numeral.
|
---|
Keywords:
(prsr_lib/iritprs2.c:454)
Prototype:
void _IPParserAbort(IritPrsrErrType ErrNum, char *Msg)
Description:
Routine to abort parsing operation and save error reported.
See also function IritPrsrParseError.
Parameters:
ErrNum: | Type of error that had occured.
|
---|
Msg: | A message to accompany the error number.
|
---|
Returned Value:
Keywords:
error handling
files
parser
(prsr_lib/iritprs1.c:811)
Prototype:
int _IPSkipToCloseParenToken(int Handler)
Description:
Routine to skip to the next closed parenthesis.
Parameters:
Handler: | A handler to the open stream.
|
---|
Returned Value:
int: TRUE, if found close paren.
|
---|
Keywords:
(prsr_lib/iritprs1.c:1064)
Prototype:
void _IPUnGetToken(int Handler, char *StringToken)
Description:
Routine to unget one token (on stack of UNGET_STACK_SIZE levels!)
Parameters:
Handler: | A handler to the open stream.
|
---|
StringToken: | Token to unget
|
---|
Returned Value:
Keywords: