Functions



Q3Box_EmptyData


( TQ3Status ) Q3Box_EmptyData (
    TQ3BoxData *boxData
);
Discussion

Releases the memory allocated by a prior call to Q3Box_GetData.

Parameter Descriptions
boxData
A pointer to the box data allocated by Q3Box_GetData().
function result
Success or failure of the operation.

Q3Box_GetData


( TQ3Status ) Q3Box_GetData (
    TQ3GeometryObject box,
    TQ3BoxData *boxData
);
Discussion

Gets the properties of an existing box object.

Memory is allocated for the 'boxData' parameter, and Q3Box_EmptyData must be called to dispose of this memory.

Parameter Descriptions
box
A reference to a box geometry object.
boxData
Receives the box object's description.
function result
Success or failure of the operation.

Q3Box_GetFaceAttributeSet


( TQ3Status ) Q3Box_GetFaceAttributeSet (
    TQ3GeometryObject box,
    TQ3Uns32 faceIndex,
    TQ3AttributeSet *faceAttributeSet
);
Discussion

Gets the attribute set associated with a certain face of a box object.

The TQ3AttributeSet* parameter is filled with the attribute set of the face indexed with 'faceIndex' of the box geometry object. faceIndex must be between 0 and 5 (inclusive).

The reference count of the returned TQ3AttributeSet is incremented.

Parameter Descriptions
box
A reference to a box geometry object.
faceIndex
The index of the face of the box.
faceAttributeSet
Receives a reference to the attribute set of the box face, or NULL if the face does not have an attribute set.
function result
Success or failure of the operation.

Q3Box_GetMajorAxis


( TQ3Status ) Q3Box_GetMajorAxis (
    TQ3GeometryObject box,
    TQ3Vector3D *majorAxis
);
Discussion

Gets the major axis of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
majorAxis
Receives the major axis of the box.
function result
Success or failure of the operation.

Q3Box_GetMinorAxis


( TQ3Status ) Q3Box_GetMinorAxis (
    TQ3GeometryObject box,
    TQ3Vector3D *minorAxis
);
Discussion

Gets the minor axis of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
minorAxis
Receives the minor axis of the box.
function result
Success or failure of the operation.

Q3Box_GetOrientation


( TQ3Status ) Q3Box_GetOrientation (
    TQ3GeometryObject box,
    TQ3Vector3D *orientation
);
Discussion

Gets the orientation of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
orientation
Receives the orientation vector of the box.
function result
Success or failure of the operation.

Q3Box_GetOrigin


( TQ3Status ) Q3Box_GetOrigin (
    TQ3GeometryObject box,
    TQ3Point3D *origin
);
Discussion

Gets the origin of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
origin
Receives the origin of the box object.
function result
Success or failure of the operation.

Q3Box_New


( TQ3GeometryObject ) Q3Box_New (
    const TQ3BoxData *boxData
);
Discussion

Constructs a new Box geometry object.

If you pass NULL, you will get a default box with orientation (1, 0, 0), major axis (0, 1, 0), minor axis (0, 0, 1), and origin (0, 0, 0). This behavior was not present in QuickDraw 3D.

Parameter Descriptions
boxData
Instance data passed in specifying the parameters of the new box object, or NULL.
function result
A reference to the new geometry object, or NULL on failure.

Q3Box_SetData


( TQ3Status ) Q3Box_SetData (
    TQ3GeometryObject box,
    const TQ3BoxData *boxData
);
Discussion

Sets the properties of an existing box object.

Parameter Descriptions
box
A reference to a box geometry object.
boxData
A pointer to the box data to apply to the box object.
function result
Success or failure of the operation.

Q3Box_SetFaceAttributeSet


( TQ3Status ) Q3Box_SetFaceAttributeSet (
    TQ3GeometryObject box,
    TQ3Uns32 faceIndex,
    TQ3AttributeSet faceAttributeSet
);
Discussion

Sets the attribute set associated with a certain face of a box object.

This function applies the TQ3AttributeSet* parameter to the attribute set of the face indexed with faceIndex of the box geometry object. faceIndex must be between 0 and 5 (inclusive).

Parameter Descriptions
box
A reference to a box geometry object.
faceIndex
The index of the face of the box.
faceAttributeSet
An attribute set to be applied.
function result
Success or failure of the operation.

Q3Box_SetMajorAxis


( TQ3Status ) Q3Box_SetMajorAxis (
    TQ3GeometryObject box,
    const TQ3Vector3D *majorAxis
);
Discussion

Sets the major axis of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
majorAxis
The vector to which to set 'box's major axis.
function result
Success or failure of the operation.

Q3Box_SetMinorAxis


( TQ3Status ) Q3Box_SetMinorAxis (
    TQ3GeometryObject box,
    const TQ3Vector3D *minorAxis
);
Discussion

Sets the minor axis of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
minorAxis
The vector to which to set 'box's minor axis.
function result
Success or failure of the operation.

Q3Box_SetOrientation


( TQ3Status ) Q3Box_SetOrientation (
    TQ3GeometryObject box,
    const TQ3Vector3D *orientation
);
Discussion

Sets the orientation of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
orientation
The vector to which to set 'box's orientation.
function result
Success or failure of the operation.

Q3Box_SetOrigin


( TQ3Status ) Q3Box_SetOrigin (
    TQ3GeometryObject box,
    const TQ3Point3D *origin
);
Discussion

Sets the origin of a box object.

Parameter Descriptions
box
A reference to a box geometry object.
origin
The point to which to set 'box's origin.
function result
Success or failure of the operation.

Q3Box_Submit


( TQ3Status ) Q3Box_Submit (
    const TQ3BoxData *boxData,
    TQ3ViewObject view
);
Discussion

Submits a box for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
boxData
A pointer to a TQ3BoxData structure specifying the box to be drawn.
view
The view to submit the box to.
function result
Success or failure of the operation.

Q3Cone_EmptyData


( TQ3Status ) Q3Cone_EmptyData (
    TQ3ConeData *coneData
);
Discussion

Release memory allocated by Q3Cone_GetData.

Parameter Descriptions
coneData
Data describing a cone, previously obtained with Q3Cone_GetData.
function result
Success or failure of the operation.

Q3Cone_GetBottomAttributeSet


( TQ3Status ) Q3Cone_GetBottomAttributeSet (
    TQ3GeometryObject cone,
    TQ3AttributeSet *bottomAttributeSet
);
Discussion

Get the attribute set for the bottom cap of a cone object.

Parameter Descriptions
cone
The cone object.
bottomAttributeSet
Receives a reference to the bottom attribute set, or NULL.
function result
Success or failure of the operation.

Q3Cone_GetCaps


( TQ3Status ) Q3Cone_GetCaps (
    TQ3GeometryObject cone,
    TQ3EndCap *caps
);
Discussion

Get the end cap flags of a cone object.

Parameter Descriptions
cone
The cone object.
caps
Receives the end cap flags. See TQ3EndCapMasks, defined in Quesa.h, for values.
function result
Success or failure of the operation.

Q3Cone_GetData


( TQ3Status ) Q3Cone_GetData (
    TQ3GeometryObject cone,
    TQ3ConeData *coneData
);
Discussion

Get data describing a cone object.

This may allocate memory, which should be freed using Q3Cone_EmptyData.

Parameter Descriptions
cone
The cone object.
coneData
Receives data describing the cone.
function result
Success or failure of the operation.

Q3Cone_GetFaceAttributeSet


( TQ3Status ) Q3Cone_GetFaceAttributeSet (
    TQ3GeometryObject cone,
    TQ3AttributeSet *faceAttributeSet
);
Discussion

Get the attribute set for the face (as opposed to the bottom cap) of a cone.

Parameter Descriptions
cone
The cone object.
faceAttributeSet
Receives the attribute set for the face, or NULL.
function result
Success or failure of the operation.

Q3Cone_GetInteriorAttributeSet


( TQ3Status ) Q3Cone_GetInteriorAttributeSet (
    TQ3GeometryObject cone,
    TQ3AttributeSet *interiorAttributeSet
);
Discussion

Get the attribute set for the interior of a cone object.

This function is not available in QD3D.

Parameter Descriptions
cylinder
A cone object.
faceAttributeSet
Receives the attribute set for the interior, or NULL.
function result
Success or failure of the operation.

Q3Cone_GetMajorRadius


( TQ3Status ) Q3Cone_GetMajorRadius (
    TQ3GeometryObject cone,
    TQ3Vector3D *majorRadius
);
Discussion

Get the major radius vector of a cone object.

Parameter Descriptions
cone
The cone object.
majorRadius
Receives the major radius vector.
function result
Success or failure of the operation.

Q3Cone_GetMinorRadius


( TQ3Status ) Q3Cone_GetMinorRadius (
    TQ3GeometryObject cone,
    TQ3Vector3D *minorRadius
);
Discussion

Get the minor radius vector of a cone object.

Parameter Descriptions
cone
The cone object.
minorRadius
Receives the minor radius vector.
function result
Success or failure of the operation.

Q3Cone_GetOrientation


( TQ3Status ) Q3Cone_GetOrientation (
    TQ3GeometryObject cone,
    TQ3Vector3D *orientation
);
Discussion

Get the orientation vector of a cone object.

Parameter Descriptions
cone
The cone object.
orientation
Receives the orientation vector.
function result
Success or failure of the operation.

Q3Cone_GetOrigin


( TQ3Status ) Q3Cone_GetOrigin (
    TQ3GeometryObject cone,
    TQ3Point3D *origin
);
Discussion

Get the origin of a cone object.

Parameter Descriptions
cone
The cone object.
origin
Receives the origin.
function result
Success or failure of the operation.

Q3Cone_New


( TQ3GeometryObject ) Q3Cone_New (
    const TQ3ConeData *coneData
);
Discussion

Create a cone geometry object.

If you pass NULL, you will get a default cone with orientation (1, 0, 0), major axis (0, 1, 0), minor axis (0, 0, 1), and origin (0, 0, 0). This behavior was not present in QuickDraw 3D.

Parameter Descriptions
coneData
Pointer to data describing the cone, or NULL.
function result
The new cone object, or NULL on failure.

Q3Cone_SetBottomAttributeSet


( TQ3Status ) Q3Cone_SetBottomAttributeSet (
    TQ3GeometryObject cone,
    TQ3AttributeSet bottomAttributeSet
);
Discussion

Change the bottom attribute set of a cone object.

Naturally, this only makes sense if the cone has a bottom end cap.

Parameter Descriptions
cone
The cone object.
bottomAttributeSet
New bottom attribute set. May be NULL.
function result
Success or failure of the operation.

Q3Cone_SetCaps


( TQ3Status ) Q3Cone_SetCaps (
    TQ3GeometryObject cone,
    TQ3EndCap caps
);
Discussion

Set the end cap flags of a cone object.

Currently, this simply determines whether the cone will have a bottom cap.

Parameter Descriptions
cone
The cone object.
caps
End cap value (do not include kQ3EndCapMaskTop).
function result
Success or failure of the operation.

Q3Cone_SetData


( TQ3Status ) Q3Cone_SetData (
    TQ3GeometryObject cone,
    const TQ3ConeData *coneData
);
Discussion

Modify a cone object by supplying new data.

Parameter Descriptions
cone
The cone object.
coneData
Pointer to data describing a cone.
function result
Success or failure of the operation.

Q3Cone_SetFaceAttributeSet


( TQ3Status ) Q3Cone_SetFaceAttributeSet (
    TQ3GeometryObject cone,
    TQ3AttributeSet faceAttributeSet
);
Discussion

Set the attribute set for the face (as opposed to the bottom cap) of a cone.

Parameter Descriptions
cone
The cone object.
faceAttributeSet
New face attribute set. May be NULL.
function result
Success or failure of the operation.

Q3Cone_SetInteriorAttributeSet


( TQ3Status ) Q3Cone_SetInteriorAttributeSet (
    TQ3GeometryObject cone,
    TQ3AttributeSet interiorAttributeSet
);
Discussion

Set the attribute set for the interior of a cone object.

This function is not available in QD3D.

Parameter Descriptions
cylinder
A cone object.
faceAttributeSet
New attribute set for the interior of the cone.
function result
Success or failure of the operation.

Q3Cone_SetMajorRadius


( TQ3Status ) Q3Cone_SetMajorRadius (
    TQ3GeometryObject cone,
    const TQ3Vector3D *majorRadius
);
Discussion

Change the major radius vector of a cone object.

Parameter Descriptions
cone
The cone object.
majorRadius
New major radius vector.
function result
Success or failure of the operation.

Q3Cone_SetMinorRadius


( TQ3Status ) Q3Cone_SetMinorRadius (
    TQ3GeometryObject cone,
    const TQ3Vector3D *minorRadius
);
Discussion

Change the minor radius vector of a cone object.

Parameter Descriptions
cone
The cone object.
minorRadius
New minor radius vector.
function result
Success or failure of the operation.

Q3Cone_SetOrientation


( TQ3Status ) Q3Cone_SetOrientation (
    TQ3GeometryObject cone,
    const TQ3Vector3D *orientation
);
Discussion

Change the orientation vector of a cone object.

Parameter Descriptions
cone
The cone object.
orientation
The new orientation vector.
function result
Success or failure of the operation.

Q3Cone_SetOrigin


( TQ3Status ) Q3Cone_SetOrigin (
    TQ3GeometryObject cone,
    const TQ3Point3D *origin
);
Discussion

Change the origin of a cone object.

Parameter Descriptions
cone
The cone object.
origin
The new origin.
function result
Success or failure of the operation.

Q3Cone_Submit


( TQ3Status ) Q3Cone_Submit (
    const TQ3ConeData *coneData,
    TQ3ViewObject view
);
Discussion

Submits a cone in immediate mode for rendering, bounding, picking, or writing.

This function should only be called in a submitting loop.

Parameter Descriptions
coneData
Pointer to data describing a cone.
view
A view object.
function result
Success or failure of the operation.

Q3Cylinder_EmptyData


( TQ3Status ) Q3Cylinder_EmptyData (
    TQ3CylinderData *cylinderData
);
Discussion

Free memory allocated by Q3Cylinder_GetData.

Parameter Descriptions
cylinderData
Cylinder data previously obtained using Q3Cylinder_GetData.
function result
Success or failure of the operation.

Q3Cylinder_GetBottomAttributeSet


( TQ3Status ) Q3Cylinder_GetBottomAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet *bottomAttributeSet
);
Discussion

Get the attribute set for the bottom cap of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
bottomAttributeSet
Receives the attribute set for the bottom cap, or NULL.
function result
Success or failure of the operation.

Q3Cylinder_GetCaps


( TQ3Status ) Q3Cylinder_GetCaps (
    TQ3GeometryObject cylinder,
    TQ3EndCap *caps
);
Discussion

Get the cap flags of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
caps
Receives the end cap flags. See TQ3EndCapMasks, defined in Quesa.h, for values.
function result
Success or failure of the operation.

Q3Cylinder_GetData


( TQ3Status ) Q3Cylinder_GetData (
    TQ3GeometryObject cylinder,
    TQ3CylinderData *cylinderData
);
Discussion

Get data describing a cylinder.

This operation may allocate memory, which should be freed using Q3Cylinder_EmptyData.

Parameter Descriptions
cylinder
A cylinder object.
cylinderData
Receives data describing the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_GetFaceAttributeSet


( TQ3Status ) Q3Cylinder_GetFaceAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet *faceAttributeSet
);
Discussion

Get the attribute set for the face of a cylinder object (i.e., neither end).

Parameter Descriptions
cylinder
A cylinder object.
faceAttributeSet
Receives the attribute set for the face, or NULL.
function result
Success or failure of the operation.

Q3Cylinder_GetInteriorAttributeSet


( TQ3Status ) Q3Cylinder_GetInteriorAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet *interiorAttributeSet
);
Discussion

Get the attribute set for the interior of a cylinder object.

This function is not available in QD3D.

Parameter Descriptions
cylinder
A cylinder object.
faceAttributeSet
Receives the attribute set for the interior, or NULL.
function result
Success or failure of the operation.

Q3Cylinder_GetMajorRadius


( TQ3Status ) Q3Cylinder_GetMajorRadius (
    TQ3GeometryObject cylinder,
    TQ3Vector3D *majorRadius
);
Discussion

Get the major radius vector of a cylinder.

Parameter Descriptions
cylinder
A cylinder object.
majorRadius
Receives the major radius vector of the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_GetMinorRadius


( TQ3Status ) Q3Cylinder_GetMinorRadius (
    TQ3GeometryObject cylinder,
    TQ3Vector3D *minorRadius
);
Discussion

Get the minor radius vector of a cylinder.

Parameter Descriptions
cylinder
A cylinder object.
minorRadius
Receives the minor radius vector of the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_GetOrientation


( TQ3Status ) Q3Cylinder_GetOrientation (
    TQ3GeometryObject cylinder,
    TQ3Vector3D *orientation
);
Discussion

Get the orientation vector of a cylinder.

Parameter Descriptions
cylinder
A cylinder object.
orientation
Receives the orientation vector of the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_GetOrigin


( TQ3Status ) Q3Cylinder_GetOrigin (
    TQ3GeometryObject cylinder,
    TQ3Point3D *origin
);
Discussion

Get the origin of a cylinder.

Parameter Descriptions
cylinder
A cylinder object.
origin
Receives the origin of the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_GetTopAttributeSet


( TQ3Status ) Q3Cylinder_GetTopAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet *topAttributeSet
);
Discussion

Get the attribute set for the top cap of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
topAttributeSet
Receives the attribute set for the top cap, or NULL.
function result
Success or failure of the operation.

Q3Cylinder_New


( TQ3GeometryObject ) Q3Cylinder_New (
    const TQ3CylinderData *cylinderData
);
Discussion

Create a new Cylinder object.

If you pass NULL, you will get a default cylinder with orientation (1, 0, 0), major axis (0, 1, 0), minor axis (0, 0, 1), origin (0, 0, 0), and no end caps. This behavior was not present in QuickDraw 3D.

Parameter Descriptions
cylinderData
Data describing a cylinder, or NULL.
function result
Reference to a new Cylinder geometry object, or NULL on failure.

Q3Cylinder_SetBottomAttributeSet


( TQ3Status ) Q3Cylinder_SetBottomAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet bottomAttributeSet
);
Discussion

Set the attribute set for the bottom cap of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
bottomAttributeSet
New attribute set for the bottom cap.
function result
Success or failure of the operation.

Q3Cylinder_SetCaps


( TQ3Status ) Q3Cylinder_SetCaps (
    TQ3GeometryObject cylinder,
    TQ3EndCap caps
);
Discussion

Set the cap flags of a cylinder object. This determines whether the cylinder is closed off at one end or the other. The end containing the origin is considered the bottom.

Parameter Descriptions
cylinder
A cylinder object.
caps
The end cap flags. See TQ3EndCapMasks, defined in Quesa.h, for values.
function result
Success or failure of the operation.

Q3Cylinder_SetData


( TQ3Status ) Q3Cylinder_SetData (
    TQ3GeometryObject cylinder,
    const TQ3CylinderData *cylinderData
);
Discussion

Modify a cylinder object by supplying all new data.

Parameter Descriptions
cylinder
A cylinder object.
cylinderData
Data describing a cylinder.
function result
Success or failure of the operation.

Q3Cylinder_SetFaceAttributeSet


( TQ3Status ) Q3Cylinder_SetFaceAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet faceAttributeSet
);
Discussion

Set the attribute set for the face of a cylinder object (i.e., neither end).

Parameter Descriptions
cylinder
A cylinder object.
faceAttributeSet
New attribute set for the face of the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_SetInteriorAttributeSet


( TQ3Status ) Q3Cylinder_SetInteriorAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet interiorAttributeSet
);
Discussion

Set the attribute set for the interior of a cylinder object (which only shows when the u parameter does not have the full range 0 to 1).

This function is not available in QD3D.

Parameter Descriptions
cylinder
A cylinder object.
faceAttributeSet
New attribute set for the interior of the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_SetMajorRadius


( TQ3Status ) Q3Cylinder_SetMajorRadius (
    TQ3GeometryObject cylinder,
    const TQ3Vector3D *majorRadius
);
Discussion

Change the major radius vector of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
majorRadius
New major radius vector for the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_SetMinorRadius


( TQ3Status ) Q3Cylinder_SetMinorRadius (
    TQ3GeometryObject cylinder,
    const TQ3Vector3D *minorRadius
);
Discussion

Change the minor radius vector of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
minorRadius
New minor radius vector for the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_SetOrientation


( TQ3Status ) Q3Cylinder_SetOrientation (
    TQ3GeometryObject cylinder,
    const TQ3Vector3D *orientation
);
Discussion

Change the orientation vector of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
orientation
New orientation vector for the cylinder.
function result
Success or failure of the operation.

Q3Cylinder_SetOrigin


( TQ3Status ) Q3Cylinder_SetOrigin (
    TQ3GeometryObject cylinder,
    const TQ3Point3D *origin
);
Discussion

Change the origin of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
origin
New point of origin.
function result
Success or failure of the operation.

Q3Cylinder_SetTopAttributeSet


( TQ3Status ) Q3Cylinder_SetTopAttributeSet (
    TQ3GeometryObject cylinder,
    TQ3AttributeSet topAttributeSet
);
Discussion

Set the attribute set for the top cap of a cylinder object.

Parameter Descriptions
cylinder
A cylinder object.
topAttributeSet
New attribute set for the top cap.
function result
Success or failure of the operation.

Q3Cylinder_Submit


( TQ3Status ) Q3Cylinder_Submit (
    const TQ3CylinderData *cylinderData,
    TQ3ViewObject view
);
Discussion

Submits a cylinder for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
cylinderData
Data describing a cylinder.
view
A view object.
function result
Success or failure of the operation.

Q3Disk_EmptyData


( TQ3Status ) Q3Disk_EmptyData (
    TQ3DiskData *diskData
);
Discussion

Free memory allocated by Q3Disk_GetData.

Parameter Descriptions
diskData
Data describing a disk object, previously obtained by Q3Disk_GetData.
function result
Success or failure of the operation.

Q3Disk_GetData


( TQ3Status ) Q3Disk_GetData (
    TQ3GeometryObject disk,
    TQ3DiskData *diskData
);
Discussion

Get the data of a Disk object.

This may allocate memory, which should be freed using Q3Disk_EmptyData.

Parameter Descriptions
disk
A disk geometry object.
diskData
Data describing a disk object.
function result
Success or failure of the operation.

Q3Disk_GetMajorRadius


( TQ3Status ) Q3Disk_GetMajorRadius (
    TQ3GeometryObject disk,
    TQ3Vector3D *majorRadius
);
Discussion

Get the major radius vector of a disk object.

Parameter Descriptions
disk
A disk geometry object.
majorRadius
Receives the major radius vector of the disk.
function result
Success or failure of the operation.

Q3Disk_GetMinorRadius


( TQ3Status ) Q3Disk_GetMinorRadius (
    TQ3GeometryObject disk,
    TQ3Vector3D *minorRadius
);
Discussion

Get the minor radius vector of a disk object.

Parameter Descriptions
disk
A disk geometry object.
minorRadius
Receives the minor radius vector of the disk.
function result
Success or failure of the operation.

Q3Disk_GetOrigin


( TQ3Status ) Q3Disk_GetOrigin (
    TQ3GeometryObject disk,
    TQ3Point3D *origin
);
Discussion

Get the origin of a disk object.

Parameter Descriptions
disk
A disk geometry object.
origin
Receives the origin of the disk.
function result
Success or failure of the operation.

Q3Disk_New


( TQ3GeometryObject ) Q3Disk_New (
    const TQ3DiskData *diskData
);
Discussion

Create a new disk object.

If you pass NULL instead of a data pointer, you will get a default disk, with origin (0, 0, 0), major radius (1, 0, 0), and minor radius (0, 1, 0). This behavior was not present in QuickDraw 3D.

Parameter Descriptions
diskData
Data describing a disk object, or NULL.
function result
Reference to a new Disk geometry object, or NULL on failure.

Q3Disk_SetData


( TQ3Status ) Q3Disk_SetData (
    TQ3GeometryObject disk,
    const TQ3DiskData *diskData
);
Discussion

Modify a disk object by supplying a whole new set of data.

Parameter Descriptions
disk
A disk geometry object.
diskData
Data describing a disk object.
function result
Success or failure of the operation.

Q3Disk_SetMajorRadius


( TQ3Status ) Q3Disk_SetMajorRadius (
    TQ3GeometryObject disk,
    const TQ3Vector3D *majorRadius
);
Discussion

Change the major radius vector of a disk object.

Parameter Descriptions
disk
A disk geometry object.
majorRadius
New major radius vector for the disk object.
function result
Success or failure of the operation.

Q3Disk_SetMinorRadius


( TQ3Status ) Q3Disk_SetMinorRadius (
    TQ3GeometryObject disk,
    const TQ3Vector3D *minorRadius
);
Discussion

Change the minor radius vector of a disk object.

Parameter Descriptions
disk
A disk geometry object.
minorRadius
New minor radius vector for the disk object.
function result
Success or failure of the operation.

Q3Disk_SetOrigin


( TQ3Status ) Q3Disk_SetOrigin (
    TQ3GeometryObject disk,
    const TQ3Point3D *origin
);
Discussion

Change the origin of a Disk object.

Parameter Descriptions
disk
A disk geometry object.
origin
New origin for the disk.
function result
Success or failure of the operation.

Q3Disk_Submit


( TQ3Status ) Q3Disk_Submit (
    const TQ3DiskData *diskData,
    TQ3ViewObject view
);
Discussion

Submits a disk for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
diskData
Data describing a disk object.
view
A view object.
function result
Success or failure of the operation.

Q3Ellipse_EmptyData


( TQ3Status ) Q3Ellipse_EmptyData (
    TQ3EllipseData *ellipseData
);
Discussion

Release memory allocated by Q3Ellipse_GetData.

Parameter Descriptions
ellipseData
Data describing an ellipse, previously obtained with Q3Ellipse_GetData.
function result
Success or failure of the operation.

Q3Ellipse_GetData


( TQ3Status ) Q3Ellipse_GetData (
    TQ3GeometryObject ellipse,
    TQ3EllipseData *ellipseData
);
Discussion

Get the data of an Ellipse object.

This function may allocate memory, which should be freed using Q3Ellipse_EmptyData.

Parameter Descriptions
ellipse
An ellipse object.
ellipseData
Receives data describing the ellipse object.
function result
Success or failure of the operation.

Q3Ellipse_GetMajorRadius


( TQ3Status ) Q3Ellipse_GetMajorRadius (
    TQ3GeometryObject ellipse,
    TQ3Vector3D *majorRadius
);
Discussion

Get the major radius vector of an Ellipse object.

Parameter Descriptions
ellipse
The Ellipse object.
majorRadius
Receives the major radius vector.
function result
Success or failure of the operation.

Q3Ellipse_GetMinorRadius


( TQ3Status ) Q3Ellipse_GetMinorRadius (
    TQ3GeometryObject ellipse,
    TQ3Vector3D *minorRadius
);
Discussion

Get the minor radius vector of an Ellipse object.

Parameter Descriptions
ellipse
The Ellipse object.
minorRadius
Receives the minor radius vector.
function result
Success or failure of the operation.

Q3Ellipse_GetOrigin


( TQ3Status ) Q3Ellipse_GetOrigin (
    TQ3GeometryObject ellipse,
    TQ3Point3D *origin
);
Discussion

Get the origin of an Ellipse object.

Parameter Descriptions
ellipse
The Ellipse object.
origin
Receives the origin.
function result
Success or failure of the operation.

Q3Ellipse_New


( TQ3GeometryObject ) Q3Ellipse_New (
    const TQ3EllipseData *ellipseData
);
Discussion

Create a new ellipse geometry object.

If you pass NULL, you will get a default ellipse with major axis (0, 1, 0), minor axis (0, 0, 1), and origin (0, 0, 0). This behavior was not present in QuickDraw 3D.

Parameter Descriptions
ellipseData
Data describing an ellipse, or NULL.
function result
Reference to a new Ellipse geometry object, or NULL on failure.

Q3Ellipse_SetData


( TQ3Status ) Q3Ellipse_SetData (
    TQ3GeometryObject ellipse,
    const TQ3EllipseData *ellipseData
);
Discussion

Modify an ellipse object by supplying a full new set of data.

Parameter Descriptions
ellipse
An ellipse object.
ellipseData
Data describing an ellipse.
function result
Success or failure of the operation.

Q3Ellipse_SetMajorRadius


( TQ3Status ) Q3Ellipse_SetMajorRadius (
    TQ3GeometryObject ellipse,
    const TQ3Vector3D *majorRadius
);
Discussion

Change the major radius vector of an Ellipse object.

Parameter Descriptions
ellipse
The Ellipse object.
majorRadius
New major radius vector.
function result
Success or failure of the operation.

Q3Ellipse_SetMinorRadius


( TQ3Status ) Q3Ellipse_SetMinorRadius (
    TQ3GeometryObject ellipse,
    const TQ3Vector3D *minorRadius
);
Discussion

Change the minor radius vector of an Ellipse object.

Parameter Descriptions
ellipse
The Ellipse object.
minorRadius
New minor radius vector.
function result
Success or failure of the operation.

Q3Ellipse_SetOrigin


( TQ3Status ) Q3Ellipse_SetOrigin (
    TQ3GeometryObject ellipse,
    const TQ3Point3D *origin
);
Discussion

Change the origin of an ellipse object.

Parameter Descriptions
ellipse
The ellipse object.
origin
The new origin.
function result
Success or failure of the operation.

Q3Ellipse_Submit


( TQ3Status ) Q3Ellipse_Submit (
    const TQ3EllipseData *ellipseData,
    TQ3ViewObject view
);
Discussion

Submits an ellipse for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
ellipseData
Data describing an ellipse.
view
A view object.
function result
Success or failure of the operation.

Q3Ellipsoid_EmptyData


( TQ3Status ) Q3Ellipsoid_EmptyData (
    TQ3EllipsoidData *ellipsoidData
);
Discussion

Release memory allocated by Q3Ellipsoid_GetData.

Parameter Descriptions
ellipsoidData
Data describing an Ellipsoid, previously obtained with Q3Ellipsoid_GetData.
function result
Success or failure of the operation.

Q3Ellipsoid_GetData


( TQ3Status ) Q3Ellipsoid_GetData (
    TQ3GeometryObject ellipsoid,
    TQ3EllipsoidData *ellipsoidData
);
Discussion

Get the data of an Ellipse object.

This function may allocate memory, which should be freed using Q3Ellipsoid_EmptyData.

Parameter Descriptions
ellipsoid
An ellipsoid object.
ellipsoidData
Receives data describing the ellipsoid object.
function result
Success or failure of the operation.

Q3Ellipsoid_GetMajorRadius


( TQ3Status ) Q3Ellipsoid_GetMajorRadius (
    TQ3GeometryObject ellipsoid,
    TQ3Vector3D *majorRadius
);
Discussion

Get the major radius vector of an Ellipsoid object.

Parameter Descriptions
ellipsoid
The Ellipsoid object.
majorRadius
Receives the major radius vector.
function result
Success or failure of the operation.

Q3Ellipsoid_GetMinorRadius


( TQ3Status ) Q3Ellipsoid_GetMinorRadius (
    TQ3GeometryObject ellipsoid,
    TQ3Vector3D *minorRadius
);
Discussion

Get the minor radius vector of an Ellipsoid object.

Parameter Descriptions
ellipsoid
The Ellipsoid object.
minorRadius
Receives the minor radius vector.
function result
Success or failure of the operation.

Q3Ellipsoid_GetOrientation


( TQ3Status ) Q3Ellipsoid_GetOrientation (
    TQ3GeometryObject ellipsoid,
    TQ3Vector3D *orientation
);
Discussion

Get the orientation vector of an Ellipsoid.

Parameter Descriptions
ellipsoid
An Ellipsoid object.
orientation
Receives the orientation vector of the Ellipsoid.
function result
Success or failure of the operation.

Q3Ellipsoid_GetOrigin


( TQ3Status ) Q3Ellipsoid_GetOrigin (
    TQ3GeometryObject ellipsoid,
    TQ3Point3D *origin
);
Discussion

Get the origin of an Ellipsoid object.

Parameter Descriptions
ellipsoid
The Ellipsoid object.
origin
Receives the origin.
function result
Success or failure of the operation.

Q3Ellipsoid_New


( TQ3GeometryObject ) Q3Ellipsoid_New (
    const TQ3EllipsoidData *ellipsoidData
);
Discussion

Create a new ellipsoid geometry object.

If you pass NULL, you will get a default ellipsoid with orientation (1, 0, 0), major axis (0, 1, 0), minor axis (0, 0, 1), and origin (0, 0, 0). This behavior was not present in QuickDraw 3D.

Parameter Descriptions
ellipsoidData
Data describing an ellipsoid, or NULL.
function result
Reference to a new Ellipsoid geometry object, or NULL on failure.

Q3Ellipsoid_SetData


( TQ3Status ) Q3Ellipsoid_SetData (
    TQ3GeometryObject ellipsoid,
    const TQ3EllipsoidData *ellipsoidData
);
Discussion

Modify an ellipsoid object by supplying a full new set of data.

Parameter Descriptions
ellipsoid
An ellipsoid object.
ellipsoidData
Data describing an ellipsoid.
function result
Success or failure of the operation.

Q3Ellipsoid_SetMajorRadius


( TQ3Status ) Q3Ellipsoid_SetMajorRadius (
    TQ3GeometryObject ellipsoid,
    const TQ3Vector3D *majorRadius
);
Discussion

Change the major radius vector of an Ellipsoid object.

Parameter Descriptions
ellipsoid
The Ellipsoid object.
majorRadius
New major radius vector.
function result
Success or failure of the operation.

Q3Ellipsoid_SetMinorRadius


( TQ3Status ) Q3Ellipsoid_SetMinorRadius (
    TQ3GeometryObject ellipsoid,
    const TQ3Vector3D *minorRadius
);
Discussion

Change the minor radius vector of an Ellipsoid object.

Parameter Descriptions
ellipsoid
The Ellipsoid object.
minorRadius
New minor radius vector.
function result
Success or failure of the operation.

Q3Ellipsoid_SetOrientation


( TQ3Status ) Q3Ellipsoid_SetOrientation (
    TQ3GeometryObject ellipsoid,
    const TQ3Vector3D *orientation
);
Discussion

Change the orientation vector of an Ellipsoid object.

Parameter Descriptions
ellipsoid
An Ellipsoid object.
orientation
New orientation vector for the Ellipsoid.
function result
Success or failure of the operation.

Q3Ellipsoid_SetOrigin


( TQ3Status ) Q3Ellipsoid_SetOrigin (
    TQ3GeometryObject ellipsoid,
    const TQ3Point3D *origin
);
Discussion

Change the origin of an ellipsoid object.

Parameter Descriptions
ellipsoid
The ellipsoid object.
origin
The new origin.
function result
Success or failure of the operation.

Q3Ellipsoid_Submit


( TQ3Status ) Q3Ellipsoid_Submit (
    const TQ3EllipsoidData *ellipsoidData,
    TQ3ViewObject view
);
Discussion

Submits an ellipsoid for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
ellipsoidData
Data describing an ellipsoid.
view
A view object.
function result
Success or failure of the operation.

Q3ForEachComponentEdge


#define Q3ForEachComponentEdge(_c, _e, _i)                  \
  for ((_e) = Q3Mesh_FirstComponentEdge((_c), (_i)); \
  (_e) != NULL; \
  (_e) = Q3Mesh_NextComponentEdge((_i)))

Discussion

Macro to aid in iterating over edges of a component of a Mesh object.

Parameter Descriptions
_c
The component.
_e
The edge.
_i
Address of a TQ3MeshIterator.

Q3ForEachComponentVertex


#define Q3ForEachComponentVertex(_c, _v, _i)                \
  for ((_v) = Q3Mesh_FirstComponentVertex((_c), (_i));\
  (_v) != NULL; \
  (_v) = Q3Mesh_NextComponentVertex((_i)))

Discussion

Macro to aid in iterating over vertices of a component of a Mesh object.

Parameter Descriptions
_c
The component.
_v
The vertex.
_i
Address of a TQ3MeshIterator.

Q3ForEachContourEdge


#define Q3ForEachContourEdge(_h, _e, _i)                    \
  for ((_e) = Q3Mesh_FirstContourEdge((_h), (_i)); \
  (_e) != NULL; \
  (_e) = Q3Mesh_NextContourEdge((_i)))

Discussion

Macro to aid in iterating over edges of a contour of a Mesh object.

Parameter Descriptions
_h
The contour.
_e
An edge of the contour.
_i
Address of a TQ3MeshIterator.

Q3ForEachContourFace


#define Q3ForEachContourFace(_h, _f, _i)                    \
  for ((_f) = Q3Mesh_FirstContourFace((_h), (_i)); \
  (_f) != NULL; \
  (_f) = Q3Mesh_NextContourFace((_i)))

Discussion

Macro to aid in iterating over edges of a contour of a Mesh object.

Parameter Descriptions
_h
The contour.
_v
An edge of the contour.
_i
Address of a TQ3MeshIterator.

Q3ForEachContourVertex


#define Q3ForEachContourVertex(_h, _v, _i)                  \
  for ((_v) = Q3Mesh_FirstContourVertex((_h), (_i)); \
  (_v) != NULL; \
  (_v) = Q3Mesh_NextContourVertex((_i)))

Discussion

Macro to aid in iterating over vertices of a contour of a Mesh object.

Parameter Descriptions
_h
The contour.
_v
A vertex of the contour.
_i
Address of a TQ3MeshIterator.

Q3ForEachFaceContour


#define Q3ForEachFaceContour(_f, _h, _i)                    \
  for ((_h) = Q3Mesh_FirstFaceContour((_f), (_i)); \
  (_h) != NULL; \
  (_h) = Q3Mesh_NextFaceContour((_i)))

Discussion

Macro to aid in iterating over contours of a face of a Mesh object.

Parameter Descriptions
_f
The face.
_h
A contour of the face.
_i
Address of a TQ3MeshIterator.

Q3ForEachFaceEdge


#define Q3ForEachFaceEdge(_f, _e, _i)                       \
  for ((_e) = Q3Mesh_FirstFaceEdge((_f), (_i)); \
  (_e) != NULL; \
  (_e) = Q3Mesh_NextFaceEdge((_i)))

Discussion

Macro to aid in iterating over edges incident to a face of a Mesh object.

Parameter Descriptions
_f
The face.
_e
An incident edge.
_i
Address of a TQ3MeshIterator.

Q3ForEachFaceFace


#define Q3ForEachFaceFace(_f, _n, _i)                       \
  for ((_n) = Q3Mesh_FirstFaceFace((_f), (_i)); \
  (_n) != NULL; \
  (_n) = Q3Mesh_NextFaceFace((_i)))

Discussion

Macro to aid in iterating over faces adjacent to a face of a Mesh object.

Parameter Descriptions
_f
The face.
_n
An incident face.
_i
Address of a TQ3MeshIterator.

Q3ForEachFaceVertex


#define Q3ForEachFaceVertex(_f, _v, _i)                     \
  for ((_v) = Q3Mesh_FirstFaceVertex((_f), (_i)); \
  (_v) != NULL; \
  (_v) = Q3Mesh_NextFaceVertex((_i)))

Discussion

Macro to aid in iterating over vertices incident to a face of a Mesh object.

Parameter Descriptions
_f
The face.
_v
An incident vertex.
_i
Address of a TQ3MeshIterator.

Q3ForEachMeshComponent


#define Q3ForEachMeshComponent(_m, _c, _i)                  \
  for ((_c) = Q3Mesh_FirstMeshComponent((_m), (_i)); \
  (_c) != NULL; \
  (_c) = Q3Mesh_NextMeshComponent((_i)))

Discussion

Macro to aid in iterating over components of a Mesh object. Example:


TQ3MeshIterator		iter;
TQ3MeshComponent	comp;
Q3ForEachMeshComponent( myMesh, comp, &iter )
{
 	DoSomething( comp );
}

Parameter Descriptions
_m
The mesh object.
_c
The component.
_i
Address of a TQ3MeshIterator.

Q3ForEachMeshEdge


#define Q3ForEachMeshEdge(_m, _e, _i)                       \
  for ((_e) = Q3Mesh_FirstMeshEdge((_m), (_i)); \
  (_e) != NULL; \
  (_e) = Q3Mesh_NextMeshEdge((_i)))

Discussion

Macro to aid in iterating over edges of a Mesh object.

Parameter Descriptions
_m
The mesh.
_e
The edge.
_i
Address of a TQ3MeshIterator.

Q3ForEachMeshFace


#define Q3ForEachMeshFace(_m, _f, _i)                       \
  for ((_f) = Q3Mesh_FirstMeshFace((_m), (_i)); \
  (_f) != NULL; \
  (_f) = Q3Mesh_NextMeshFace((_i)))

Discussion

Macro to aid in iterating over faces of a Mesh object.

Parameter Descriptions
_m
The mesh.
_f
The face.
_i
Address of a TQ3MeshIterator.

Q3ForEachMeshVertex


#define Q3ForEachMeshVertex(_m, _v, _i)                     \
  for ((_v) = Q3Mesh_FirstMeshVertex((_m), (_i)); \
  (_v) != NULL; \
  (_v) = Q3Mesh_NextMeshVertex((_i)))

Discussion

Macro to aid in iterating over vertices of a Mesh object.

Parameter Descriptions
_m
The mesh.
_v
The vertex.
_i
Address of a TQ3MeshIterator.

Q3ForEachVertexEdge


#define Q3ForEachVertexEdge(_v, _e, _i)                     \
  for ((_e) = Q3Mesh_FirstVertexEdge((_v), (_i)); \
  (_e) != NULL; \
  (_e) = Q3Mesh_NextVertexEdge((_i)))

Discussion

Macro to aid in iterating over edges incident to a vertex of a Mesh object.

Parameter Descriptions
_v
The vertex.
_e
The edge.
_i
Address of a TQ3MeshIterator.

Q3ForEachVertexFace


#define Q3ForEachVertexFace(_v, _f, _i)                     \
  for ((_f) = Q3Mesh_FirstVertexFace((_v), (_i)); \
  (_f) != NULL; \
  (_f) = Q3Mesh_NextVertexFace((_i)))

Discussion

Macro to aid in iterating over faces incident to a vertex of a Mesh object.

Parameter Descriptions
_v
The vertex.
_f
An incident face.
_i
Address of a TQ3MeshIterator.

Q3ForEachVertexVertex


#define Q3ForEachVertexVertex(_v, _n, _i)                   \
  for ((_n) = Q3Mesh_FirstVertexVertex((_v), (_i)); \
  (_n) != NULL; \
  (_n) = Q3Mesh_NextVertexVertex((_i)))

Discussion

Macro to aid in iterating over vertices adjacent to a vertex of a Mesh object.

Parameter Descriptions
_v
The vertex.
_n
An adjacent vertex.
_i
Address of a TQ3MeshIterator.

Q3GeneralPolygon_EmptyData


( TQ3Status ) Q3GeneralPolygon_EmptyData (
    TQ3GeneralPolygonData *generalPolygonData
);
Discussion

Release memory allocated by Q3GeneralPolygon_GetData.

Parameter Descriptions
generalPolygonData
Data describing a General Polygon, previously obtained with Q3GeneralPolygon_GetData.
function result
Success or failure of the operation.

Q3GeneralPolygon_GetData


( TQ3Status ) Q3GeneralPolygon_GetData (
    TQ3GeometryObject polygon,
    TQ3GeneralPolygonData *generalPolygonData
);
Discussion

Get the data of a General Polygon object.

This function may allocate memory, which should be freed using Q3GeneralPolygon_EmptyData.

Parameter Descriptions
polygon
A general polygon object.
generalPolygonData
Receives data describing the general polygon object.
function result
Success or failure of the operation.

Q3GeneralPolygon_GetShapeHint


( TQ3Status ) Q3GeneralPolygon_GetShapeHint (
    TQ3GeometryObject generalPolygon,
    TQ3GeneralPolygonShapeHint *shapeHint
);
Discussion

Get the shape hint of a general polygon.

Parameter Descriptions
generalPolygon
A general polygon object.
shapeHint
Receives the shape hint.
function result
Success or failure of the operation.

Q3GeneralPolygon_GetVertexAttributeSet


( TQ3Status ) Q3GeneralPolygon_GetVertexAttributeSet (
    TQ3GeometryObject generalPolygon,
    TQ3Uns32 contourIndex,
    TQ3Uns32 pointIndex,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a vertex of a general polygon.

Parameter Descriptions
generalPolygon
A general polygon object.
contourIndex
A 0-based index into the array of contours.
pointIndex
A 0-based index into the array of vertices of a contour.
attributeSet
Receives a new reference to the vertex attribute set, or NULL.
function result
Success or failure of the operation.

Q3GeneralPolygon_GetVertexPosition


( TQ3Status ) Q3GeneralPolygon_GetVertexPosition (
    TQ3GeometryObject generalPolygon,
    TQ3Uns32 contourIndex,
    TQ3Uns32 pointIndex,
    TQ3Point3D *position
);
Discussion

Get the 3D position of a vertex in a general polygon.

Parameter Descriptions
generalPolygon
A general polygon object.
contourIndex
A 0-based index into the array of contours.
pointIndex
A 0-based index into the array of vertices of a contour.
position
Receives the position of the vertex.
function result
Success or failure of the operation.

Q3GeneralPolygon_New


( TQ3GeometryObject ) Q3GeneralPolygon_New (
    const TQ3GeneralPolygonData *generalPolygonData
);
Discussion

Create a new general polygon geometry object.

Parameter Descriptions
generalPolygonData
Data describing a general polygon.
function result
Reference to a new General Polygon geometry object, or NULL on failure.

Q3GeneralPolygon_SetData


( TQ3Status ) Q3GeneralPolygon_SetData (
    TQ3GeometryObject generalPolygon,
    const TQ3GeneralPolygonData *generalPolygonData
);
Discussion

Modify a general polygon object by supplying a full new set of data.

Parameter Descriptions
generalPolygon
A general polygon object.
generalPolygonData
Data describing a general polygon object.
function result
Success or failure of the operation.

Q3GeneralPolygon_SetShapeHint


( TQ3Status ) Q3GeneralPolygon_SetShapeHint (
    TQ3GeometryObject generalPolygon,
    TQ3GeneralPolygonShapeHint shapeHint
);
Discussion

Set the shape hint of a general polygon.

The hint may allow a renderer to optimize drawing the polygon.

Parameter Descriptions
generalPolygon
A general polygon object.
shapeHint
The shape hint.
function result
Success or failure of the operation.

Q3GeneralPolygon_SetVertexAttributeSet


( TQ3Status ) Q3GeneralPolygon_SetVertexAttributeSet (
    TQ3GeometryObject generalPolygon,
    TQ3Uns32 contourIndex,
    TQ3Uns32 pointIndex,
    TQ3AttributeSet attributeSet
);
Discussion

Assign an attribute set to a vertex of a general polygon.

The function increments the reference count of the attribute set.

Parameter Descriptions
generalPolygon
A general polygon object.
contourIndex
A 0-based index into the array of contours.
pointIndex
A 0-based index into the array of vertices of a contour.
attributeSet
Attribute set for the vertex.
function result
Success or failure of the operation.

Q3GeneralPolygon_SetVertexPosition


( TQ3Status ) Q3GeneralPolygon_SetVertexPosition (
    TQ3GeometryObject generalPolygon,
    TQ3Uns32 contourIndex,
    TQ3Uns32 pointIndex,
    const TQ3Point3D *position
);
Discussion

Set the 3D position of a vertex in a general polygon.

Parameter Descriptions
generalPolygon
A general polygon object.
contourIndex
A 0-based index into the array of contours.
pointIndex
A 0-based index into the array of vertices of a contour.
position
New position for the vertex.
function result
Success or failure of the operation.

Q3GeneralPolygon_Submit


( TQ3Status ) Q3GeneralPolygon_Submit (
    const TQ3GeneralPolygonData *generalPolygonData,
    TQ3ViewObject view
);
Discussion

Submits a general polygon for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
generalPolygonData
Data describing a general polygon.
view
A view object.
function result
Success or failure of the operation.

Q3Geometry_GetAttributeSet


( TQ3Status ) Q3Geometry_GetAttributeSet (
    TQ3GeometryObject geometry,
    TQ3AttributeSet *attributeSet
);
Discussion

Returns the attribute set associated with a geometric object.

This function fills the TQ3AttributeSet* parameter out with the attribute set of the passed in TQ3GeometryObject reference.

The reference count of the attribute set is incremented.

To decrease the reference count when finished with the attribute set, use Q3ObjectDispose().

Parameter Descriptions
geometry
A reference to a geometry object.
attributeSet
Receives a reference to the attribute set of the geometry.
function result
Success or failure of the operation.

Q3Geometry_GetDecomposed


( TQ3Object ) Q3Geometry_GetDecomposed (
    TQ3GeometryObject geometry,
    TQ3ViewObject view
);
Discussion

Creates the decomposed form of the geometry, if any.

The result may be a geometry or a group. If the geometry cannot be decomposed further, NULL is returned.

The decomposition of a given geometry is not documented and is subject to change. Geometries may be decomposed to multiple objects; for example, the decomposition of a cone with a bottom cap may be a group containing a TriMesh and a Disk.

You are free to modify the group or geometry returned by this function, and it is your responsibility to dispose it when you are done with it.

This function must be called in a submitting loop. Depending on the geometry, the result may be affected by the current view state. E.g., the geometry may be affected by the current transforms and camera, or even by styles such as subdivision or orientation.

This function is not available in QD3D.

Parameter Descriptions
geometry
A geometry object.
view
A view object
function result
A new reference to a group or geometry object, or NULL.

Q3Geometry_GetType


( TQ3ObjectType ) Q3Geometry_GetType (
    TQ3GeometryObject geometry
);
Discussion

Returns the type of the GeometryObject passed in.

This function is used to determine the type of geometry object the parameter is a reference to. If 'geometry' is invalid, kQ3ObjectTypeInvalid will be returned.

Parameter Descriptions
geometry
A reference to a geometry object.
function result
A constant enumerating the type of 'geometry'.

Q3Geometry_SetAttributeSet


( TQ3Status ) Q3Geometry_SetAttributeSet (
    TQ3GeometryObject geometry,
    TQ3AttributeSet attributeSet
);
Discussion

Sets the attribute set associated with a geometric object.

Applies the attribute set given by the TQ3AttributeSet parameter onto the TQ3GeometryObject reference passed in.

Parameter Descriptions
geometry
A reference to a geometry object.
attributeSet
The attribute set to apply to the object.
function result
Success or failure of the operation.

Q3Geometry_Submit


( TQ3Status ) Q3Geometry_Submit (
    TQ3GeometryObject geometry,
    TQ3ViewObject view
);
Discussion

Submits a geometry object for drawing, picking, bounding, or writing.

Submits the passed in TQ3GeometryObject to the supplied view for drawing, picking, bounding, or writing.

This function should only be called in a submitting loop.

Parameter Descriptions
geometry
A reference to a (retained) geometry object.
view
The view to submit the geometric object to.
function result
Success or failure of the operation.

Q3Line_EmptyData


( TQ3Status ) Q3Line_EmptyData (
    TQ3LineData *lineData
);
Discussion

Release memory allocated by Q3Line_GetData.

Parameter Descriptions
lineData
Data describing a Line, previously obtained with Q3Line_GetData.
function result
Success or failure of the operation.

Q3Line_GetData


( TQ3Status ) Q3Line_GetData (
    TQ3GeometryObject line,
    TQ3LineData *lineData
);
Discussion

Get the data of a Line object.

This function may allocate memory, which should be freed using Q3Line_EmptyData.

Parameter Descriptions
line
A Line object.
lineData
Receives data describing the Line object.
function result
Success or failure of the operation.

Q3Line_GetVertexAttributeSet


( TQ3Status ) Q3Line_GetVertexAttributeSet (
    TQ3GeometryObject line,
    TQ3Uns32 index,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of one of the ends of a line object.

Parameter Descriptions
line
A line object.
index
An index, 0 or 1, specifying an end of the line.
attributeSet
Receives a new reference to the attribute set, or NULL.
function result
Success or failure of the operation.

Q3Line_GetVertexPosition


( TQ3Status ) Q3Line_GetVertexPosition (
    TQ3GeometryObject line,
    TQ3Uns32 index,
    TQ3Point3D *position
);
Discussion

Get the position of one of the ends of a line.

Parameter Descriptions
line
A line object.
index
An index, 0 or 1, specifying an end of the line.
position
Receives the position of the vertex.
function result
Success or failure of the operation.

Q3Line_New


( TQ3GeometryObject ) Q3Line_New (
    const TQ3LineData *lineData
);
Discussion

Create a new line geometry object.

Parameter Descriptions
lineData
Data describing a line.
function result
Reference to a new Line geometry object, or NULL on failure.

Q3Line_SetData


( TQ3Status ) Q3Line_SetData (
    TQ3GeometryObject line,
    const TQ3LineData *lineData
);
Discussion

Modify a line object by supplying a full new set of data.

Parameter Descriptions
line
A line object.
lineData
Data describing a line.
function result
Success or failure of the operation.

Q3Line_SetVertexAttributeSet


( TQ3Status ) Q3Line_SetVertexAttributeSet (
    TQ3GeometryObject line,
    TQ3Uns32 index,
    TQ3AttributeSet attributeSet
);
Discussion

Assign an attribute set to one of the ends of a line.

Any previous attribute set on the vertex is disposed. The new attribute set has its reference count incremented.

Parameter Descriptions
line
A line object.
index
An index, 0 or 1, specifying an end of the line.
attributeSet
The new attribute set.
function result
Success or failure of the operation.

Q3Line_SetVertexPosition


( TQ3Status ) Q3Line_SetVertexPosition (
    TQ3GeometryObject line,
    TQ3Uns32 index,
    const TQ3Point3D *position
);
Discussion

Change the position of one of the ends of a line object.

Parameter Descriptions
line
A line object.
index
An index, 0 or 1, specifying an end of the line.
position
New position of the vertex.
function result
Success or failure of the operation.

Q3Line_Submit


( TQ3Status ) Q3Line_Submit (
    const TQ3LineData *lineData,
    TQ3ViewObject view
);
Discussion

Submits a line for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
lineData
Data describing a line.
view
A view object.
function result
Success or failure of the operation.

Q3Marker_EmptyData


( TQ3Status ) Q3Marker_EmptyData (
    TQ3MarkerData *markerData
);
Discussion

Release memory allocated by Q3Marker_GetData.

Parameter Descriptions
markerData
Data describing a Marker, previously obtained with Q3Marker_GetData.
function result
Success or failure of the operation.

Q3Marker_GetBitmap


( TQ3Status ) Q3Marker_GetBitmap (
    TQ3GeometryObject marker,
    TQ3Bitmap *bitmap
);
Discussion

Get the bitmap of a Marker object.

This returns a copy of the bitmap of the marker. When you are done with it, use Q3Bitmap_Empty to release the memory.

Parameter Descriptions
marker
A marker object.
bitmap
Receives a copy of the bitmap of the marker.
function result
Success or failure of the operation.

Q3Marker_GetData


( TQ3Status ) Q3Marker_GetData (
    TQ3GeometryObject geometry,
    TQ3MarkerData *markerData
);
Discussion

Get the data of a Marker object.

This function may allocate memory, which should be freed using Q3Marker_EmptyData.

Parameter Descriptions
geometry
A Marker object.
markerData
Receives data describing the Marker object.
function result
Success or failure of the operation.

Q3Marker_GetPosition


( TQ3Status ) Q3Marker_GetPosition (
    TQ3GeometryObject marker,
    TQ3Point3D *location
);
Discussion

Get the position of a Marker object.

The position corresponds to the location field of the TQ3MarkerData structure.

Parameter Descriptions
marker
A marker object.
location
Receives the location of the marker object.
function result
Success or failure of the operation.

Q3Marker_GetXOffset


( TQ3Status ) Q3Marker_GetXOffset (
    TQ3GeometryObject marker,
    TQ3Int32 *xOffset
);
Discussion

Get the horizontal offset, in screen pixels, from the marker location to the upper left corner of the marker bitmap.

Parameter Descriptions
marker
A marker object.
xOffset
Receives the horizontal offset in pixels.
function result
Success or failure of the operation.

Q3Marker_GetYOffset


( TQ3Status ) Q3Marker_GetYOffset (
    TQ3GeometryObject marker,
    TQ3Int32 *yOffset
);
Discussion

Get the vertical offset, in screen pixels, from the marker location to the upper left corner of the marker bitmap.

Parameter Descriptions
marker
A marker object.
yOffset
Receives the vertical offset in pixels.
function result
Success or failure of the operation.

Q3Marker_New


( TQ3GeometryObject ) Q3Marker_New (
    const TQ3MarkerData *markerData
);
Discussion

Create a new marker geometry object.

Parameter Descriptions
markerData
Data describing a marker.
function result
Reference to a new Marker geometry object, or NULL on failure.

Q3Marker_SetBitmap


( TQ3Status ) Q3Marker_SetBitmap (
    TQ3GeometryObject marker,
    const TQ3Bitmap *bitmap
);
Discussion

Change the bitmap of a Marker object.

This makes a copy of the bitmap data, so you can dispose of the original.

Parameter Descriptions
marker
A marker object.
bitmap
New bitmap to be used by the marker.
function result
Success or failure of the operation.

Q3Marker_SetData


( TQ3Status ) Q3Marker_SetData (
    TQ3GeometryObject geometry,
    const TQ3MarkerData *markerData
);
Discussion

Modify a marker object by supplying a full new set of data.

Parameter Descriptions
geometry
A marker object.
markerData
Data describing a marker.
function result
Success or failure of the operation.

Q3Marker_SetPosition


( TQ3Status ) Q3Marker_SetPosition (
    TQ3GeometryObject marker,
    const TQ3Point3D *location
);
Discussion

Set the position of a Marker object.

The position corresponds to the location field of the TQ3MarkerData structure.

Parameter Descriptions
marker
A marker object.
location
New location of the marker object.
function result
Success or failure of the operation.

Q3Marker_SetXOffset


( TQ3Status ) Q3Marker_SetXOffset (
    TQ3GeometryObject marker,
    TQ3Int32 xOffset
);
Discussion

Set the horizontal offset, in screen pixels, from the marker location to the upper left corner of the marker bitmap.

Parameter Descriptions
marker
A marker object.
xOffset
New horizontal offset in pixels.
function result
Success or failure of the operation.

Q3Marker_SetYOffset


( TQ3Status ) Q3Marker_SetYOffset (
    TQ3GeometryObject marker,
    TQ3Int32 yOffset
);
Discussion

Set the vertical offset, in screen pixels, from the marker location to the upper left corner of the marker bitmap.

Parameter Descriptions
marker
A marker object.
yOffset
New vertical offset in pixels.
function result
Success or failure of the operation.

Q3Marker_Submit


( TQ3Status ) Q3Marker_Submit (
    const TQ3MarkerData *markerData,
    TQ3ViewObject view
);
Discussion

Submits a marker for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
markerData
Data describing a marker.
view
A view object.
function result
Success or failure of the operation.

Q3Mesh_ContourToFace


( TQ3MeshFace ) Q3Mesh_ContourToFace (
    TQ3GeometryObject mesh,
    TQ3MeshContour contour
);
Discussion

Convert a mesh face to a contour.

Parameter Descriptions
mesh
The mesh to update.
contour
The contour to convert to a face.
function result
The new mesh face.

Q3Mesh_DelayUpdates


( TQ3Status ) Q3Mesh_DelayUpdates (
    TQ3GeometryObject mesh
);
Discussion

Delay updates to a mesh.

Can be used before a mesh is edited to allow Quesa to defer any geometrical optimisations on the mesh. While updates are deferred, Quesa will select a more flexible internal mesh representation.

Parameter Descriptions
mesh
The mesh to delay updates on.
function result
Success or failure of the operation.

Q3Mesh_EmptyData


( TQ3Status ) Q3Mesh_EmptyData (
    TQ3MeshData *meshData
);
Discussion

Releases the memory allocated by a prior call to Q3Mesh_GetData.

This function is not available in QD3D.

Parameter Descriptions
meshData
A pointer to the mesh data allocated by Q3Mesh_GetData().
function result
Success or failure of the operation.

Q3Mesh_FaceDelete


( TQ3Status ) Q3Mesh_FaceDelete (
    TQ3GeometryObject mesh,
    TQ3MeshFace face
);
Discussion

Delete a mesh face.

Parameter Descriptions
mesh
The mesh to remove the face from.
face
The mesh face to delete.
function result
Success or failure of the operation.

Q3Mesh_FaceNew


( TQ3MeshFace ) Q3Mesh_FaceNew (
    TQ3GeometryObject mesh,
    TQ3Uns32 numVertices,
    const TQ3MeshVertex *vertices,
    TQ3AttributeSet attributeSet
);
Discussion

Create a new mesh face.

Parameter Descriptions
mesh
The mesh to create the face within.
numVertices
The number of vertices in the face.
vertices
The vertices for the face.
attributeSet
The attribute set for the face.
function result
The new mesh face.

Q3Mesh_FaceToContour


( TQ3MeshContour ) Q3Mesh_FaceToContour (
    TQ3GeometryObject mesh,
    TQ3MeshFace containerFace,
    TQ3MeshFace face
);
Discussion

Convert a mesh face to a contour.

Parameter Descriptions
mesh
The mesh to update.
containerFace
The face containing the face which will be converted.
face
The face to convert to a contour.
function result
The new mesh contour.

Q3Mesh_FirstComponentEdge


( TQ3MeshEdge ) Q3Mesh_FirstComponentEdge (
    TQ3MeshComponent component,
    TQ3MeshIterator *iterator
);
Discussion

Get the first edge in a mesh component.

Parameter Descriptions
component
The component to query.
iterator
Receives the mesh iterator.
function result
The first edge in the component.

Q3Mesh_FirstComponentVertex


( TQ3MeshVertex ) Q3Mesh_FirstComponentVertex (
    TQ3MeshComponent component,
    TQ3MeshIterator *iterator
);
Discussion

Get the first vertex in a mesh component.

Parameter Descriptions
component
The component to query.
iterator
Receives the mesh iterator.
function result
The first vertex in the component.

Q3Mesh_FirstContourEdge


( TQ3MeshEdge ) Q3Mesh_FirstContourEdge (
    TQ3MeshContour contour,
    TQ3MeshIterator *iterator
);
Discussion

Get the first edge in a mesh contour.

Parameter Descriptions
contour
The contour to query.
iterator
Receives the mesh iterator.
function result
The first edge in the contour.

Q3Mesh_FirstContourFace


( TQ3MeshFace ) Q3Mesh_FirstContourFace (
    TQ3MeshContour contour,
    TQ3MeshIterator *iterator
);
Discussion

Get the first face in a mesh contour.

Parameter Descriptions
contour
The contour to query.
iterator
Receives the mesh iterator.
function result
The first face in the contour.

Q3Mesh_FirstContourVertex


( TQ3MeshVertex ) Q3Mesh_FirstContourVertex (
    TQ3MeshContour contour,
    TQ3MeshIterator *iterator
);
Discussion

Get the first vertex in a mesh contour.

Parameter Descriptions
contour
The contour to query.
iterator
Receives the mesh iterator.
function result
The first vertex in the contour.

Q3Mesh_FirstFaceContour


( TQ3MeshContour ) Q3Mesh_FirstFaceContour (
    TQ3MeshFace face,
    TQ3MeshIterator *iterator
);
Discussion

Get the first contour in a mesh face.

Parameter Descriptions
face
The face to query.
iterator
Receives the mesh iterator.
function result
The first contour in the face.

Q3Mesh_FirstFaceEdge


( TQ3MeshEdge ) Q3Mesh_FirstFaceEdge (
    TQ3MeshFace face,
    TQ3MeshIterator *iterator
);
Discussion

Get the first edge in a mesh face.

Parameter Descriptions
face
The face to query.
iterator
Receives the mesh iterator.
function result
The first edge in the face.

Q3Mesh_FirstFaceFace


( TQ3MeshFace ) Q3Mesh_FirstFaceFace (
    TQ3MeshFace face,
    TQ3MeshIterator *iterator
);
Discussion

Get the first face in a mesh face.

Parameter Descriptions
face
The face to query.
iterator
Receives the mesh iterator.
function result
The first face in the face.

Q3Mesh_FirstFaceVertex


( TQ3MeshVertex ) Q3Mesh_FirstFaceVertex (
    TQ3MeshFace face,
    TQ3MeshIterator *iterator
);
Discussion

Get the first vertex in a mesh face.

Parameter Descriptions
face
The face to query.
iterator
Receives the mesh iterator.
function result
The first vertex in the face.

Q3Mesh_FirstMeshComponent


( TQ3MeshComponent ) Q3Mesh_FirstMeshComponent (
    TQ3GeometryObject mesh,
    TQ3MeshIterator *iterator
);
Discussion

Get the first component in a mesh.

Parameter Descriptions
mesh
The mesh to query.
iterator
Receives the mesh iterator.
function result
The first component in the mesh.

Q3Mesh_FirstMeshEdge


( TQ3MeshEdge ) Q3Mesh_FirstMeshEdge (
    TQ3GeometryObject mesh,
    TQ3MeshIterator *iterator
);
Discussion

Get the first edge in a mesh.

Parameter Descriptions
mesh
The mesh to query.
iterator
Receives the mesh iterator.
function result
The first edge in the mesh.

Q3Mesh_FirstMeshFace


( TQ3MeshFace ) Q3Mesh_FirstMeshFace (
    TQ3GeometryObject mesh,
    TQ3MeshIterator *iterator
);
Discussion

Get the first face in a mesh.

Parameter Descriptions
mesh
The mesh to query.
iterator
Receives the mesh iterator.
function result
The first face in the mesh.

Q3Mesh_FirstMeshVertex


( TQ3MeshVertex ) Q3Mesh_FirstMeshVertex (
    TQ3GeometryObject mesh,
    TQ3MeshIterator *iterator
);
Discussion

Get the first vertex in a mesh.

Parameter Descriptions
mesh
The mesh to query.
iterator
Receives the mesh iterator.
function result
The first vertex in the mesh.

Q3Mesh_FirstVertexEdge


( TQ3MeshEdge ) Q3Mesh_FirstVertexEdge (
    TQ3MeshVertex vertex,
    TQ3MeshIterator *iterator
);
Discussion

Get the first edge in a mesh vertex.

Parameter Descriptions
vertex
The vertex to query.
iterator
Receives the mesh iterator.
function result
The first edge in the vertex.

Q3Mesh_FirstVertexFace


( TQ3MeshFace ) Q3Mesh_FirstVertexFace (
    TQ3MeshVertex vertex,
    TQ3MeshIterator *iterator
);
Discussion

Get the first face in a mesh vertex.

Parameter Descriptions
vertex
The vertex to query.
iterator
Receives the mesh iterator.
function result
The first face in the vertex.

Q3Mesh_FirstVertexVertex


( TQ3MeshVertex ) Q3Mesh_FirstVertexVertex (
    TQ3MeshVertex vertex,
    TQ3MeshIterator *iterator
);
Discussion

Get the first vertex in a mesh vertex.

Parameter Descriptions
vertex
The vertex to query.
iterator
Receives the mesh iterator.
function result
The first vertex in the vertex.

Q3Mesh_GetComponentBoundingBox


( TQ3Status ) Q3Mesh_GetComponentBoundingBox (
    TQ3GeometryObject mesh,
    TQ3MeshComponent component,
    TQ3BoundingBox *boundingBox
);
Discussion

Get the bounding box of a mesh component

Parameter Descriptions
mesh
The mesh to query.
component
The component to query.
boundingBox
Receives the bounding box of the component.
function result
Success or failure of the operation.

Q3Mesh_GetComponentNumEdges


( TQ3Status ) Q3Mesh_GetComponentNumEdges (
    TQ3GeometryObject mesh,
    TQ3MeshComponent component,
    TQ3Uns32 *numEdges
);
Discussion

Get the number of edges in a mesh component

Parameter Descriptions
mesh
The mesh to query.
component
The component to query.
numEdges
Receives the number of edges in the component.
function result
Success or failure of the operation.

Q3Mesh_GetComponentNumVertices


( TQ3Status ) Q3Mesh_GetComponentNumVertices (
    TQ3GeometryObject mesh,
    TQ3MeshComponent component,
    TQ3Uns32 *numVertices
);
Discussion

Get the number of vertices in a mesh component

Parameter Descriptions
mesh
The mesh to query.
component
The component to query.
numVertices
Receives the number of vertices in the component.
function result
Success or failure of the operation.

Q3Mesh_GetComponentOrientable


( TQ3Status ) Q3Mesh_GetComponentOrientable (
    TQ3GeometryObject mesh,
    TQ3MeshComponent component,
    TQ3Boolean *orientable
);
Discussion

Get the orientable state of a mesh component

Parameter Descriptions
mesh
The mesh to query.
component
The component to query.
orientable
Receives the orientable state of the component.
function result
Success or failure of the operation.

Q3Mesh_GetContourFace


( TQ3Status ) Q3Mesh_GetContourFace (
    TQ3GeometryObject mesh,
    TQ3MeshContour contour,
    TQ3MeshFace *face
);
Discussion

Get the face of a mesh contour.

Parameter Descriptions
mesh
The mesh to query.
contour
The contour to query.
face
Receives the face of the mesh contour.
function result
Success or failure of the operation.

Q3Mesh_GetContourNumVertices


( TQ3Status ) Q3Mesh_GetContourNumVertices (
    TQ3GeometryObject mesh,
    TQ3MeshContour contour,
    TQ3Uns32 *numVertices
);
Discussion

Get the number of vertices in a mesh contour.

Parameter Descriptions
mesh
The mesh to query.
contour
The contour to query.
numVertices
Receives the number of vertices in the mesh contour.
function result
Success or failure of the operation.

Q3Mesh_GetCornerAttributeSet


( TQ3Status ) Q3Mesh_GetCornerAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3MeshFace face,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a mesh corner.

Parameter Descriptions
mesh
The mesh to query.
vertex
The vertex to query.
face
The face to query.
attributeSet
Receives the attribute set of the mesh corner.
function result
Success or failure of the operation.

Q3Mesh_GetData


( TQ3Status ) Q3Mesh_GetData (
    TQ3GeometryObject mesh,
    TQ3MeshData *meshData
);
Discussion

Gets the properties of an existing mesh object.

Memory is allocated for the 'meshData' parameter, and Q3Mesh_EmptyData must be called to dispose of this memory.

This function is not available in QD3D.

Parameter Descriptions
mesh
A reference to a mesh geometry object.
meshData
Receives the mesh object's description.
function result
Success or failure of the operation.

Q3Mesh_GetEdgeAttributeSet


( TQ3Status ) Q3Mesh_GetEdgeAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshEdge edge,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a mesh edge.

Parameter Descriptions
mesh
The mesh to query.
edge
The edge to query.
attributeSet
Receives the attribute set of the mesh edge.
function result
Success or failure of the operation.

Q3Mesh_GetEdgeComponent


( TQ3Status ) Q3Mesh_GetEdgeComponent (
    TQ3GeometryObject mesh,
    TQ3MeshEdge edge,
    TQ3MeshComponent *component
);
Discussion

Get the component of a mesh edge.

Parameter Descriptions
mesh
The mesh to query.
edge
The edge to query.
component
Receives the component of the mesh edge.
function result
Success or failure of the operation.

Q3Mesh_GetEdgeFaces


( TQ3Status ) Q3Mesh_GetEdgeFaces (
    TQ3GeometryObject mesh,
    TQ3MeshEdge edge,
    TQ3MeshFace *face1,
    TQ3MeshFace *face2
);
Discussion

Get the faces of a mesh edge.

Parameter Descriptions
mesh
The mesh to query.
edge
The edge to query.
face1
Receives the first face of the mesh edge.
face2
Receives the second face of the mesh edge.
function result
Success or failure of the operation.

Q3Mesh_GetEdgeOnBoundary


( TQ3Status ) Q3Mesh_GetEdgeOnBoundary (
    TQ3GeometryObject mesh,
    TQ3MeshEdge edge,
    TQ3Boolean *onBoundary
);
Discussion

Get the boundary state of a mesh edge.

Parameter Descriptions
mesh
The mesh to query.
edge
The edge to query.
onBoundary
Receives the boundary state of the mesh edge.
function result
Success or failure of the operation.

Q3Mesh_GetEdgeVertices


( TQ3Status ) Q3Mesh_GetEdgeVertices (
    TQ3GeometryObject mesh,
    TQ3MeshEdge edge,
    TQ3MeshVertex *vertex1,
    TQ3MeshVertex *vertex2
);
Discussion

Get the vertices of a mesh edge.

Parameter Descriptions
mesh
The mesh to query.
edge
The edge to query.
vertex1
Receives the first vertex of the mesh edge.
vertex2
Receives the second vertex of the mesh edge.
function result
Success or failure of the operation.

Q3Mesh_GetFaceAttributeSet


( TQ3Status ) Q3Mesh_GetFaceAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a mesh face.

Parameter Descriptions
mesh
The mesh to query.
face
The face to query.
attributeSet
Receives the attribute set of the mesh face.
function result
Success or failure of the operation.

Q3Mesh_GetFaceComponent


( TQ3Status ) Q3Mesh_GetFaceComponent (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3MeshComponent *component
);
Discussion

Get the component of a mesh face.

Parameter Descriptions
mesh
The mesh to query.
face
The face to query.
component
Receives the component of the mesh face.
function result
Success or failure of the operation.

Q3Mesh_GetFaceIndex


( TQ3Status ) Q3Mesh_GetFaceIndex (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3Uns32 *index
);
Discussion

Get the index of a mesh face.

Parameter Descriptions
mesh
The mesh to query.
face
The face to query.
index
Receives the index of the mesh face.
function result
Success or failure of the operation.

Q3Mesh_GetFaceNumContours


( TQ3Status ) Q3Mesh_GetFaceNumContours (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3Uns32 *numContours
);
Discussion

Get the number of contours of a mesh face.

Parameter Descriptions
mesh
The mesh to query.
face
The face to query.
numContours
Receives the number of contours of the mesh face.
function result
Success or failure of the operation.

Q3Mesh_GetFaceNumVertices


( TQ3Status ) Q3Mesh_GetFaceNumVertices (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3Uns32 *numVertices
);
Discussion

Get the number of vertices in a mesh face.

Parameter Descriptions
mesh
The mesh to query.
face
The face to query.
numVertices
Receives the number of vertices in the mesh face.
function result
Success or failure of the operation.

Q3Mesh_GetFacePlaneEquation


( TQ3Status ) Q3Mesh_GetFacePlaneEquation (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3PlaneEquation *planeEquation
);
Discussion

Get the plane equation of a mesh face.

Parameter Descriptions
mesh
The mesh to query.
face
The face to query.
planeEquation
Receives the plane equation of the mesh face.
function result
Success or failure of the operation.

Q3Mesh_GetNumComponents


( TQ3Status ) Q3Mesh_GetNumComponents (
    TQ3GeometryObject mesh,
    TQ3Uns32 *numComponents
);
Discussion

Get the number of components of a mesh.

Parameter Descriptions
mesh
The mesh to query.
numComponents
Receives the number of components of the mesh.
function result
Success or failure of the operation.

Q3Mesh_GetNumCorners


( TQ3Status ) Q3Mesh_GetNumCorners (
    TQ3GeometryObject mesh,
    TQ3Uns32 *numCorners
);
Discussion

Get the number of corners in a mesh

Parameter Descriptions
mesh
The mesh to query.
numCorners
Receives the number of corners in the mesh.
function result
Success or failure of the operation.

Q3Mesh_GetNumEdges


( TQ3Status ) Q3Mesh_GetNumEdges (
    TQ3GeometryObject mesh,
    TQ3Uns32 *numEdges
);
Discussion

Get the number of edges in a mesh

Parameter Descriptions
mesh
The mesh to query.
numEdges
Receives the number of edges in the mesh.
function result
Success or failure of the operation.

Q3Mesh_GetNumFaces


( TQ3Status ) Q3Mesh_GetNumFaces (
    TQ3GeometryObject mesh,
    TQ3Uns32 *numFaces
);
Discussion

Get the number of faces in a mesh

Parameter Descriptions
mesh
The mesh to query.
numFaces
Receives the number of faces in the mesh.
function result
Success or failure of the operation.

Q3Mesh_GetNumVertices


( TQ3Status ) Q3Mesh_GetNumVertices (
    TQ3GeometryObject mesh,
    TQ3Uns32 *numVertices
);
Discussion

Get the number of vertices in a mesh

Parameter Descriptions
mesh
The mesh to query.
numVertices
Receives the number of vertices in the mesh.
function result
Success or failure of the operation.

Q3Mesh_GetOrientable


( TQ3Status ) Q3Mesh_GetOrientable (
    TQ3GeometryObject mesh,
    TQ3Boolean *orientable
);
Discussion

Get the mesh orientable state

Parameter Descriptions
mesh
The mesh to query.
orientable
Receives the mesh orientable state.
function result
Success or failure of the operation.

Q3Mesh_GetVertexAttributeSet


( TQ3Status ) Q3Mesh_GetVertexAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a mesh vertex.

Parameter Descriptions
mesh
The mesh to query.
vertex
The vertex to query.
attributeSet
Receives the attribute set of the mesh vertex.
function result
Success or failure of the operation.

Q3Mesh_GetVertexComponent


( TQ3Status ) Q3Mesh_GetVertexComponent (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3MeshComponent *component
);
Discussion

Get the component of a mesh vertex.

Parameter Descriptions
mesh
The mesh to query.
vertex
The vertex to query.
component
Receives the component of the mesh vertex.
function result
Success or failure of the operation.

Q3Mesh_GetVertexCoordinates


( TQ3Status ) Q3Mesh_GetVertexCoordinates (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3Point3D *coordinates
);
Discussion

Get the coordinates of a mesh vertex.

Parameter Descriptions
mesh
The mesh to query.
vertex
The vertex to query.
coordinates
Receives the coordinates of the vertex.
function result
Success or failure of the operation.

Q3Mesh_GetVertexIndex


( TQ3Status ) Q3Mesh_GetVertexIndex (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3Uns32 *index
);
Discussion

Get the index of a mesh vertex.

Parameter Descriptions
mesh
The mesh to query.
vertex
The vertex to query.
index
Receives the index of the vertex.
function result
Success or failure of the operation.

Q3Mesh_GetVertexOnBoundary


( TQ3Status ) Q3Mesh_GetVertexOnBoundary (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3Boolean *onBoundary
);
Discussion

Get the boundary state for a mesh vertex

Parameter Descriptions
mesh
The mesh to query.
vertex
The vertex to query.
onBoundary
Receives the vertex boundary state.
function result
Success or failure of the operation.

Q3Mesh_New


( TQ3GeometryObject ) Q3Mesh_New (void);
Discussion

Create a new empty Mesh geometry object.

function result
Reference to a new Mesh geometry object, or NULL on failure.

Q3Mesh_NextComponentEdge


( TQ3MeshEdge ) Q3Mesh_NextComponentEdge (
    TQ3MeshIterator *iterator
);
Discussion

Get the next edge in a mesh component.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next edge in the component.

Q3Mesh_NextComponentVertex


( TQ3MeshVertex ) Q3Mesh_NextComponentVertex (
    TQ3MeshIterator *iterator
);
Discussion

Get the next vertex in a mesh component.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next vertex in the component.

Q3Mesh_NextContourEdge


( TQ3MeshEdge ) Q3Mesh_NextContourEdge (
    TQ3MeshIterator *iterator
);
Discussion

Get the next edge in a mesh contour.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next edge in the contour.

Q3Mesh_NextContourFace


( TQ3MeshFace ) Q3Mesh_NextContourFace (
    TQ3MeshIterator *iterator
);
Discussion

Get the next face in a mesh contour.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next face in the contour.

Q3Mesh_NextContourVertex


( TQ3MeshVertex ) Q3Mesh_NextContourVertex (
    TQ3MeshIterator *iterator
);
Discussion

Get the next vertex in a mesh contour.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next vertex in the contour.

Q3Mesh_NextFaceContour


( TQ3MeshContour ) Q3Mesh_NextFaceContour (
    TQ3MeshIterator *iterator
);
Discussion

Get the next contour in a mesh face.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next contour in the face.

Q3Mesh_NextFaceEdge


( TQ3MeshEdge ) Q3Mesh_NextFaceEdge (
    TQ3MeshIterator *iterator
);
Discussion

Get the next edge in a mesh face.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next edge in the face.

Q3Mesh_NextFaceFace


( TQ3MeshFace ) Q3Mesh_NextFaceFace (
    TQ3MeshIterator *iterator
);
Discussion

Get the next face in a mesh face.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next face in the face.

Q3Mesh_NextFaceVertex


( TQ3MeshVertex ) Q3Mesh_NextFaceVertex (
    TQ3MeshIterator *iterator
);
Discussion

Get the next vertex in a mesh face.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next vertex in the face.

Q3Mesh_NextMeshComponent


( TQ3MeshComponent ) Q3Mesh_NextMeshComponent (
    TQ3MeshIterator *iterator
);
Discussion

Get the next component in a mesh.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next component in the mesh.

Q3Mesh_NextMeshEdge


( TQ3MeshEdge ) Q3Mesh_NextMeshEdge (
    TQ3MeshIterator *iterator
);
Discussion

Get the next edge in a mesh.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next edge in the mesh.

Q3Mesh_NextMeshFace


( TQ3MeshFace ) Q3Mesh_NextMeshFace (
    TQ3MeshIterator *iterator
);
Discussion

Get the next face in a mesh.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next face in the mesh.

Q3Mesh_NextMeshVertex


( TQ3MeshVertex ) Q3Mesh_NextMeshVertex (
    TQ3MeshIterator *iterator
);
Discussion

Get the next vertex in a mesh.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next vertex in the mesh.

Q3Mesh_NextVertexEdge


( TQ3MeshEdge ) Q3Mesh_NextVertexEdge (
    TQ3MeshIterator *iterator
);
Discussion

Get the next edge in a mesh vertex.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next edge in the vertex.

Q3Mesh_NextVertexFace


( TQ3MeshFace ) Q3Mesh_NextVertexFace (
    TQ3MeshIterator *iterator
);
Discussion

Get the next face in a mesh vertex.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next face in the vertex.

Q3Mesh_NextVertexVertex


( TQ3MeshVertex ) Q3Mesh_NextVertexVertex (
    TQ3MeshIterator *iterator
);
Discussion

Get the next vertex in a mesh vertex.

Parameter Descriptions
iterator
The mesh iterator.
function result
The next vertex in the vertex.

Q3Mesh_ResumeUpdates


( TQ3Status ) Q3Mesh_ResumeUpdates (
    TQ3GeometryObject mesh
);
Discussion

Resume updates to a mesh.

Should be used after a preceding call to Q3Mesh_DelayUpdates to indicate to Quesa that an optimised internal representation of the mesh would be preferred to a more flexible form.

Parameter Descriptions
mesh
The mesh to resume updatse for.
function result
Success or failure of the operation.

Q3Mesh_SetCornerAttributeSet


( TQ3Status ) Q3Mesh_SetCornerAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3MeshFace face,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set for a mesh corner.

Parameter Descriptions
mesh
The mesh to update.
vertex
The vertex to update.
face
The face to update.
attributeSet
The new attribute set for the mesh corner.
function result
Success or failure of the operation.

Q3Mesh_SetData


( TQ3Status ) Q3Mesh_SetData (
    TQ3GeometryObject mesh,
    const TQ3MeshData *meshData
);
Discussion

Sets the properties of an existing mesh object.

If successful, this function invalidates all preexisting references to mesh parts (TQ3MeshVertex, TQ3MeshContour, TQ3MeshFace, TQ3MeshCorner, TQ3MeshEdge, TQ3MeshComponent) and mesh iterators (TQ3MeshIterator).

This function is not available in QD3D.

Parameter Descriptions
mesh
A reference to a mesh geometry object.
meshData
A pointer to the mesh data to apply to the mesh object.
function result
Success or failure of the operation.

Q3Mesh_SetEdgeAttributeSet


( TQ3Status ) Q3Mesh_SetEdgeAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshEdge edge,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set for a mesh edge.

Parameter Descriptions
mesh
The mesh to update.
edge
The edge to update.
attributeSet
The new attribute set for the mesh edge.
function result
Success or failure of the operation.

Q3Mesh_SetFaceAttributeSet


( TQ3Status ) Q3Mesh_SetFaceAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshFace face,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a mesh face.

Parameter Descriptions
mesh
The mesh to update.
face
The face to update.
attributeSet
The new attribute set for the mesh face.
function result
Success or failure of the operation.

Q3Mesh_SetVertexAttributeSet


( TQ3Status ) Q3Mesh_SetVertexAttributeSet (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a mesh vertex

Parameter Descriptions
mesh
The mesh to udate.
vertex
The vertex to update.
attributeSet
The new attribute set for the mesh vertex.
function result
Success or failure of the operation.

Q3Mesh_SetVertexCoordinates


( TQ3Status ) Q3Mesh_SetVertexCoordinates (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex,
    const TQ3Point3D *coordinates
);
Discussion

Set the coordinates of a mesh vertex.

Parameter Descriptions
mesh
The mesh to update.
vertex
The vertex to update.
coordinates
The new coordinates for the mesh vertex.
function result
Success or failure of the operation.

Q3Mesh_VertexDelete


( TQ3Status ) Q3Mesh_VertexDelete (
    TQ3GeometryObject mesh,
    TQ3MeshVertex vertex
);
Discussion

Delete a mesh vertex.

Parameter Descriptions
mesh
The mesh to remove the vertex from.
vertex
The mesh vertex to delete.
function result
Success or failure of the operation.

Q3Mesh_VertexNew


( TQ3MeshVertex ) Q3Mesh_VertexNew (
    TQ3GeometryObject mesh,
    const TQ3Vertex3D *vertex
);
Discussion

Create a new mesh vertex.

Parameter Descriptions
mesh
The mesh to create the vertex within.
vertex
The data for the vertex.
function result
The new mesh vertex.

Q3NURBCurve_EmptyData


( TQ3Status ) Q3NURBCurve_EmptyData (
    TQ3NURBCurveData *nurbCurveData
);
Discussion

Release memory allocated by Q3NURBCurve_GetData.

Parameter Descriptions
nurbCurveData
Data describing a NURB Curve, previously obtained with Q3NURBCurve_GetData.
function result
Success or failure of the operation.

Q3NURBCurve_GetControlPoint


( TQ3Status ) Q3NURBCurve_GetControlPoint (
    TQ3GeometryObject curve,
    TQ3Uns32 pointIndex,
    TQ3RationalPoint4D *point4D
);
Discussion

Get a control point from a NURB curve.

Parameter Descriptions
curve
The NURB curve to query.
pointIndex
The index of the point to query.
point4D
Receives the control point value.
function result
Success or failure of the operation.

Q3NURBCurve_GetData


( TQ3Status ) Q3NURBCurve_GetData (
    TQ3GeometryObject curve,
    TQ3NURBCurveData *nurbCurveData
);
Discussion

Get the data of a NURB Curve object.

This function may allocate memory, which should be freed using Q3NURBCurve_EmptyData.

Parameter Descriptions
curve
A NURB Curve object.
nurbCurveData
Receives data describing the NURB Curve object.
function result
Success or failure of the operation.

Q3NURBCurve_GetKnot


( TQ3Status ) Q3NURBCurve_GetKnot (
    TQ3GeometryObject curve,
    TQ3Uns32 knotIndex,
    float *knotValue
);
Discussion

Get a knot from a NURB curve.

Parameter Descriptions
curve
The NURB curve to query.
knotIndex
The index of the knot to query.
knotValue
Receives the knot value.
function result
Success or failure of the operation.

Q3NURBCurve_New


( TQ3GeometryObject ) Q3NURBCurve_New (
    const TQ3NURBCurveData *curveData
);
Discussion

Create a new NURB curve geometry object.

Parameter Descriptions
curveData
Data describing a NURB curve.
function result
Reference to a new NURB curve geometry object, or NULL on failure.

Q3NURBCurve_SetControlPoint


( TQ3Status ) Q3NURBCurve_SetControlPoint (
    TQ3GeometryObject curve,
    TQ3Uns32 pointIndex,
    const TQ3RationalPoint4D *point4D
);
Discussion

Set a control point for a NURB curve.

Parameter Descriptions
curve
The NURB curve to update.
pointIndex
The index of the point to update.
point4D
The new control point value.
function result
Success or failure of the operation.

Q3NURBCurve_SetData


( TQ3Status ) Q3NURBCurve_SetData (
    TQ3GeometryObject curve,
    const TQ3NURBCurveData *nurbCurveData
);
Discussion

Modify a NURB curve object by supplying a full new set of data.

Parameter Descriptions
curve
A NURB curve object.
nurbCurveData
Data describing a NURB curve object.
function result
Success or failure of the operation.

Q3NURBCurve_SetKnot


( TQ3Status ) Q3NURBCurve_SetKnot (
    TQ3GeometryObject curve,
    TQ3Uns32 knotIndex,
    float knotValue
);
Discussion

Set a knot for a NURB curve.

Parameter Descriptions
curve
The NURB curve to update.
knotIndex
The index of the knot to update.
knotValue
The new knot value.
function result
Success or failure of the operation.

Q3NURBCurve_Submit


( TQ3Status ) Q3NURBCurve_Submit (
    const TQ3NURBCurveData *curveData,
    TQ3ViewObject view
);
Discussion

Submits a NURB curve for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
curveData
Data describing a NURB curve.
view
A view object.
function result
Success or failure of the operation.

Q3NURBPatch_EmptyData


( TQ3Status ) Q3NURBPatch_EmptyData (
    TQ3NURBPatchData *nurbPatchData
);
Discussion

Release memory allocated by Q3NURBPatch_GetData.

Parameter Descriptions
nurbPatchData
Data describing a NURB Patch, previously obtained with Q3NURBPatch_GetData.
function result
Success or failure of the operation.

Q3NURBPatch_GetControlPoint


( TQ3Status ) Q3NURBPatch_GetControlPoint (
    TQ3GeometryObject nurbPatch,
    TQ3Uns32 rowIndex,
    TQ3Uns32 columnIndex,
    TQ3RationalPoint4D *point4D
);
Discussion

Get a control point for a NURB patch.

Parameter Descriptions
nurbPatch
The NURB patch to query.
rowIndex
The row index of the control point.
columnIndex
The column index of the control point.
point4D
Receives the control point value.
function result
Success or failure of the operation.

Q3NURBPatch_GetData


( TQ3Status ) Q3NURBPatch_GetData (
    TQ3GeometryObject nurbPatch,
    TQ3NURBPatchData *nurbPatchData
);
Discussion

Get the data of a NURB Patch object.

This function may allocate memory, which should be freed using Q3NURBPatch_EmptyData.

Parameter Descriptions
nurbPatch
A NURB Patch object.
nurbPatchData
Receives data describing the NURB Patch object.
function result
Success or failure of the operation.

Q3NURBPatch_GetUKnot


( TQ3Status ) Q3NURBPatch_GetUKnot (
    TQ3GeometryObject nurbPatch,
    TQ3Uns32 knotIndex,
    float *knotValue
);
Discussion

Get a U knot from a NURB patch.

Parameter Descriptions
nurbPatch
The NURB patch to query.
knotIndex
The index of the knot to query.
knotValue
Rceives the knot value.
function result
Success or failure of the operation.

Q3NURBPatch_GetVKnot


( TQ3Status ) Q3NURBPatch_GetVKnot (
    TQ3GeometryObject nurbPatch,
    TQ3Uns32 knotIndex,
    float *knotValue
);
Discussion

Get a V knot from a NURB patch.

Parameter Descriptions
nurbPatch
The NURB patch to query.
knotIndex
The index of the knot to query.
knotValue
Rceives the knot value.
function result
Success or failure of the operation.

Q3NURBPatch_New


( TQ3GeometryObject ) Q3NURBPatch_New (
    const TQ3NURBPatchData *nurbPatchData
);
Discussion

Create a new NURB patch geometry object.

Parameter Descriptions
nurbPatchData
Data describing a NURB patch.
function result
Reference to a new NURB patch geometry object, or NULL on failure.

Q3NURBPatch_SetControlPoint


( TQ3Status ) Q3NURBPatch_SetControlPoint (
    TQ3GeometryObject nurbPatch,
    TQ3Uns32 rowIndex,
    TQ3Uns32 columnIndex,
    const TQ3RationalPoint4D *point4D
);
Discussion

Set a control point for a NURB patch.

Parameter Descriptions
nurbPatch
The NURB patch to update.
rowIndex
The row index of the control point.
columnIndex
The column index of the control point.
point4D
The new control point value.
function result
Success or failure of the operation.

Q3NURBPatch_SetData


( TQ3Status ) Q3NURBPatch_SetData (
    TQ3GeometryObject nurbPatch,
    const TQ3NURBPatchData *nurbPatchData
);
Discussion

Modify a NURB patch object by supplying a full new set of data.

Parameter Descriptions
nurbPatch
A NURB patch object.
nurbPatchData
Data describing a NURB patch object.
function result
Success or failure of the operation.

Q3NURBPatch_SetUKnot


( TQ3Status ) Q3NURBPatch_SetUKnot (
    TQ3GeometryObject nurbPatch,
    TQ3Uns32 knotIndex,
    float knotValue
);
Discussion

Set a U knot for a NURB patch.

Parameter Descriptions
nurbPatch
The NURB patch to update.
knotIndex
The index of the knot to update.
knotValue
The new value for the knot.
function result
Success or failure of the operation.

Q3NURBPatch_SetVKnot


( TQ3Status ) Q3NURBPatch_SetVKnot (
    TQ3GeometryObject nurbPatch,
    TQ3Uns32 knotIndex,
    float knotValue
);
Discussion

Set a K knot for a NURB patch.

Parameter Descriptions
nurbPatch
The NURB patch to update.
knotIndex
The index of the knot to update.
knotValue
The new value for the knot.
function result
Success or failure of the operation.

Q3NURBPatch_Submit


( TQ3Status ) Q3NURBPatch_Submit (
    const TQ3NURBPatchData *nurbPatchData,
    TQ3ViewObject view
);
Discussion

Submits a NURB patch for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
nurbPatchData
Data describing a NURB patch.
view
A view object.
function result
Success or failure of the operation.

Q3PixmapMarker_EmptyData


( TQ3Status ) Q3PixmapMarker_EmptyData (
    TQ3PixmapMarkerData *pixmapMarkerData
);
Discussion

Release memory allocated by Q3PixmapMarker_GetData.

Parameter Descriptions
pixmapMarkerData
Data describing a Pixmap Marker, previously obtained with Q3PixmapMarker_GetData.
function result
Success or failure of the operation.

Q3PixmapMarker_GetData


( TQ3Status ) Q3PixmapMarker_GetData (
    TQ3GeometryObject geometry,
    TQ3PixmapMarkerData *pixmapMarkerData
);
Discussion

Get the data of a Pixmap Marker object.

This function may allocate memory, which should be freed using Q3PixmapMarker_EmptyData.

Parameter Descriptions
geometry
A Pixmap Marker object.
pixmapMarkerData
Receives data describing the Pixmap Marker object.
function result
Success or failure of the operation.

Q3PixmapMarker_GetPixmap


( TQ3Status ) Q3PixmapMarker_GetPixmap (
    TQ3GeometryObject pixmapMarker,
    TQ3StoragePixmap *pixmap
);
Discussion

Get a copy of the pixmap used within a pixmap marker, including a new reference to the image storage.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
pixmap
Receives the pixmap structure of the marker.
function result
Success or failure of the operation.

Q3PixmapMarker_GetPosition


( TQ3Status ) Q3PixmapMarker_GetPosition (
    TQ3GeometryObject pixmapMarker,
    TQ3Point3D *position
);
Discussion

Get the position of the pixmap marker in world coordinates.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
position
Receives the position of the pixmap marker.
function result
Success or failure of the operation.

Q3PixmapMarker_GetXOffset


( TQ3Status ) Q3PixmapMarker_GetXOffset (
    TQ3GeometryObject pixmapMarker,
    TQ3Int32 *xOffset
);
Discussion

Get the horizontal offset, in screen pixels, from the marker position to the upper left corner of the marker image.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
xOffset
Receives the horizontal offset of the marker in pixels.
function result
Success or failure of the operation.

Q3PixmapMarker_GetYOffset


( TQ3Status ) Q3PixmapMarker_GetYOffset (
    TQ3GeometryObject pixmapMarker,
    TQ3Int32 *yOffset
);
Discussion

Get the vertical offset, in screen pixels, from the marker position to the upper left corner of the marker image.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
yOffset
Receives the vertical offset of the marker in pixels.
function result
Success or failure of the operation.

Q3PixmapMarker_New


( TQ3GeometryObject ) Q3PixmapMarker_New (
    const TQ3PixmapMarkerData *pixmapMarkerData
);
Discussion

Create a new pixmap marker geometry object.

Parameter Descriptions
pixmapMarkerData
Data describing a pixmap marker.
function result
Reference to a new pixmap marker geometry object, or NULL on failure.

Q3PixmapMarker_SetData


( TQ3Status ) Q3PixmapMarker_SetData (
    TQ3GeometryObject geometry,
    const TQ3PixmapMarkerData *pixmapMarkerData
);
Discussion

Modify a pixmap marker object by supplying a full new set of data.

Parameter Descriptions
geometry
A pixmap marker object.
pixmapMarkerData
Data describing a pixmap marker object.
function result
Success or failure of the operation.

Q3PixmapMarker_SetPixmap


( TQ3Status ) Q3PixmapMarker_SetPixmap (
    TQ3GeometryObject pixmapMarker,
    const TQ3StoragePixmap *pixmap
);
Discussion

Change the pixmap used by a pixmap marker. The function makes a copy of the data, including incrementing the reference count of the image storage.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
pixmap
New pixmap to be used by the marker.
function result
Success or failure of the operation.

Q3PixmapMarker_SetPosition


( TQ3Status ) Q3PixmapMarker_SetPosition (
    TQ3GeometryObject pixmapMarker,
    const TQ3Point3D *position
);
Discussion

Change the position of a pixmap marker object.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
position
New position of the pixmap marker in world coordinates.
function result
Success or failure of the operation.

Q3PixmapMarker_SetXOffset


( TQ3Status ) Q3PixmapMarker_SetXOffset (
    TQ3GeometryObject pixmapMarker,
    TQ3Int32 xOffset
);
Discussion

Set the horizontal offset, in screen pixels, from the marker position to the upper left corner of the marker image.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
xOffset
The horizontal offset of the marker in pixels.
function result
Success or failure of the operation.

Q3PixmapMarker_SetYOffset


( TQ3Status ) Q3PixmapMarker_SetYOffset (
    TQ3GeometryObject pixmapMarker,
    TQ3Int32 yOffset
);
Discussion

Set the vertical offset, in screen pixels, from the marker position to the upper left corner of the marker image.

Parameter Descriptions
pixmapMarker
A pixmap marker object.
yOffset
The vertical offset of the marker in pixels.
function result
Success or failure of the operation.

Q3PixmapMarker_Submit


( TQ3Status ) Q3PixmapMarker_Submit (
    const TQ3PixmapMarkerData *pixmapMarkerData,
    TQ3ViewObject view
);
Discussion

Submits a pixmap marker for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
pixmapMarkerData
Data describing a pixmap marker.
view
A view object.
function result
Success or failure of the operation.

Q3Point_EmptyData


( TQ3Status ) Q3Point_EmptyData (
    TQ3PointData *pointData
);
Discussion

Release memory allocated by Q3Point_GetData.

Parameter Descriptions
pointData
Data describing a Point, previously obtained with Q3Point_GetData.
function result
Success or failure of the operation.

Q3Point_GetData


( TQ3Status ) Q3Point_GetData (
    TQ3GeometryObject point,
    TQ3PointData *pointData
);
Discussion

Get the data of a Point object.

This function may allocate memory, which should be freed using Q3Point_EmptyData.

Parameter Descriptions
point
A Point object.
pointData
Receives data describing the Point object.
function result
Success or failure of the operation.

Q3Point_GetPosition


( TQ3Status ) Q3Point_GetPosition (
    TQ3GeometryObject point,
    TQ3Point3D *position
);
Discussion

Get the position of a point object.

Parameter Descriptions
point
A point object.
position
Receives the position of the point.
function result
Success or failure of the operation.

Q3Point_New


( TQ3GeometryObject ) Q3Point_New (
    const TQ3PointData *pointData
);
Discussion

Create a new point geometry object.

If you pass NULL instead of a data pointer, you will get a point disk, at (0, 0, 0). This behavior was not present in QuickDraw 3D.

Parameter Descriptions
pointData
Data describing a point, or NULL.
function result
Reference to a new Point geometry object, or NULL on failure.

Q3Point_SetData


( TQ3Status ) Q3Point_SetData (
    TQ3GeometryObject point,
    const TQ3PointData *pointData
);
Discussion

Modify a point object by supplying a full new set of data.

Parameter Descriptions
point
A point object
pointData
Data describing a point object.
function result
Success or failure of the operation.

Q3Point_SetPosition


( TQ3Status ) Q3Point_SetPosition (
    TQ3GeometryObject point,
    const TQ3Point3D *position
);
Discussion

Change the position of a point object.

Parameter Descriptions
point
A point object.
position
New position for the point.
function result
Success or failure of the operation.

Q3Point_Submit


( TQ3Status ) Q3Point_Submit (
    const TQ3PointData *pointData,
    TQ3ViewObject view
);
Discussion

Submits a point for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
pointData
Data describing a point.
view
A view object.
function result
Success or failure of the operation.

Q3PolyLine_EmptyData


( TQ3Status ) Q3PolyLine_EmptyData (
    TQ3PolyLineData *polyLineData
);
Discussion

Release memory allocated by Q3PolyLine_GetData.

Parameter Descriptions
polyLineData
Data describing a PolyLine, previously obtained with Q3PolyLine_GetData.
function result
Success or failure of the operation.

Q3PolyLine_GetData


( TQ3Status ) Q3PolyLine_GetData (
    TQ3GeometryObject polyLine,
    TQ3PolyLineData *polyLineData
);
Discussion

Get the data of a PolyLine object.

This function may allocate memory, which should be freed using Q3PolyLine_EmptyData.

Parameter Descriptions
polyLine
A PolyLine object.
polyLineData
Receives data describing the PolyLine object.
function result
Success or failure of the operation.

Q3PolyLine_GetSegmentAttributeSet


( TQ3Status ) Q3PolyLine_GetSegmentAttributeSet (
    TQ3GeometryObject polyLine,
    TQ3Uns32 index,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a polyline segment.

Parameter Descriptions
polyLine
The polyline to query.
index
The index of the segment to query.
attributeSet
Receives the attribute set of the polyline segment.
function result
Success or failure of the operation.

Q3PolyLine_GetVertexAttributeSet


( TQ3Status ) Q3PolyLine_GetVertexAttributeSet (
    TQ3GeometryObject polyLine,
    TQ3Uns32 index,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a polyline vertex.

Parameter Descriptions
polyLine
The polyline to query.
index
The index of the vertex to query.
attributeSet
Receives the attribute set of the polyline vertex.
function result
Success or failure of the operation.

Q3PolyLine_GetVertexPosition


( TQ3Status ) Q3PolyLine_GetVertexPosition (
    TQ3GeometryObject polyLine,
    TQ3Uns32 index,
    TQ3Point3D *position
);
Discussion

Get the position of a polyline vertex.

Parameter Descriptions
polyLine
The polyline to query.
index
The index of the vertex to query.
position
Receives the position of the polyline vertex.
function result
Success or failure of the operation.

Q3PolyLine_New


( TQ3GeometryObject ) Q3PolyLine_New (
    const TQ3PolyLineData *polylineData
);
Discussion

Create a new polyline geometry object.

Parameter Descriptions
polylineData
Data describing a polyline.
function result
Reference to a new Polyline geometry object, or NULL on failure.

Q3PolyLine_SetData


( TQ3Status ) Q3PolyLine_SetData (
    TQ3GeometryObject polyLine,
    const TQ3PolyLineData *polyLineData
);
Discussion

Modify a PolyLine object by supplying a full new set of data.

Parameter Descriptions
polyLine
A PolyLine object.
polyLineData
Data describing a PolyLine.
function result
Success or failure of the operation.

Q3PolyLine_SetSegmentAttributeSet


( TQ3Status ) Q3PolyLine_SetSegmentAttributeSet (
    TQ3GeometryObject polyLine,
    TQ3Uns32 index,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a polyline segment.

Parameter Descriptions
polyLine
The polyline to update.
index
The index of the segment to update.
attributeSet
The new attribute set for the polyline segment.
function result
Success or failure of the operation.

Q3PolyLine_SetVertexAttributeSet


( TQ3Status ) Q3PolyLine_SetVertexAttributeSet (
    TQ3GeometryObject polyLine,
    TQ3Uns32 index,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a polyline vertex.

Parameter Descriptions
polyLine
The polyline to update.
index
The index of the vertex to update.
attributeSet
The new attribute set for the polyline vertex.
function result
Success or failure of the operation.

Q3PolyLine_SetVertexPosition


( TQ3Status ) Q3PolyLine_SetVertexPosition (
    TQ3GeometryObject polyLine,
    TQ3Uns32 index,
    const TQ3Point3D *position
);
Discussion

Set the position of a polyline vertex.

Parameter Descriptions
polyLine
The polyline to update.
index
The index of the vertex to update.
position
The new position for the polyline vertex.
function result
Success or failure of the operation.

Q3PolyLine_Submit


( TQ3Status ) Q3PolyLine_Submit (
    const TQ3PolyLineData *polyLineData,
    TQ3ViewObject view
);
Discussion

Submits a PolyLine for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
polyLineData
Data describing a PolyLine.
view
A view object.
function result
Success or failure of the operation.

Q3Polygon_EmptyData


( TQ3Status ) Q3Polygon_EmptyData (
    TQ3PolygonData *polygonData
);
Discussion

Release memory allocated by Q3Polygon_GetData.

Parameter Descriptions
polygonData
Data describing a Polygon, previously obtained with Q3Polygon_GetData.
function result
Success or failure of the operation.

Q3Polygon_GetData


( TQ3Status ) Q3Polygon_GetData (
    TQ3GeometryObject polygon,
    TQ3PolygonData *polygonData
);
Discussion

Get the data of a Polygon object.

This function may allocate memory, which should be freed using Q3Polygon_EmptyData.

Parameter Descriptions
polygon
A Polygon object.
polygonData
Receives data describing the Polygon object.
function result
Success or failure of the operation.

Q3Polygon_GetVertexAttributeSet


( TQ3Status ) Q3Polygon_GetVertexAttributeSet (
    TQ3GeometryObject polygon,
    TQ3Uns32 index,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a vertex in a polygon object.

Parameter Descriptions
polygon
A polygon object.
index
A 0-based index into the array of vertices of the polygon.
attributeSet
Receives a new reference to the attribute set, or NULL.
function result
Success or failure of the operation.

Q3Polygon_GetVertexPosition


( TQ3Status ) Q3Polygon_GetVertexPosition (
    TQ3GeometryObject polygon,
    TQ3Uns32 index,
    TQ3Point3D *point
);
Discussion

Get the 3D position of a vertex of a polygon object.

Parameter Descriptions
polygon
A polygon object.
index
A 0-based index into the array of vertices of the polygon.
point
Receives the position of the vertex.
function result
Success or failure of the operation.

Q3Polygon_New


( TQ3GeometryObject ) Q3Polygon_New (
    const TQ3PolygonData *polygonData
);
Discussion

Create a new polygon geometry object.

Parameter Descriptions
polygonData
Data describing a polygon.
function result
Reference to a new Polygon geometry object, or NULL on failure.

Q3Polygon_SetData


( TQ3Status ) Q3Polygon_SetData (
    TQ3GeometryObject polygon,
    const TQ3PolygonData *polygonData
);
Discussion

Modify a polygon object by supplying a full new set of data.

Parameter Descriptions
polygon
A polygon object.
polygonData
Data describing a polygon.
function result
Success or failure of the operation.

Q3Polygon_SetVertexAttributeSet


( TQ3Status ) Q3Polygon_SetVertexAttributeSet (
    TQ3GeometryObject polygon,
    TQ3Uns32 index,
    TQ3AttributeSet attributeSet
);
Discussion

Change the attribute set of a vertex in a polygon object.

Parameter Descriptions
polygon
A polygon object.
index
A 0-based index into the array of vertices of the polygon.
attributeSet
New attribute set for the vertex.
function result
Success or failure of the operation.

Q3Polygon_SetVertexPosition


( TQ3Status ) Q3Polygon_SetVertexPosition (
    TQ3GeometryObject polygon,
    TQ3Uns32 index,
    const TQ3Point3D *point
);
Discussion

Change the 3D position of a vertex of a polygon object.

Parameter Descriptions
polygon
A polygon object.
index
A 0-based index into the array of vertices of the polygon.
point
New position of the vertex.
function result
Success or failure of the operation.

Q3Polygon_Submit


( TQ3Status ) Q3Polygon_Submit (
    const TQ3PolygonData *polygonData,
    TQ3ViewObject view
);
Discussion

Submits a polygon for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
polygonData
Data describing a polygon.
view
A view object.
function result
Success or failure of the operation.

Q3Polyhedron_EmptyData


( TQ3Status ) Q3Polyhedron_EmptyData (
    TQ3PolyhedronData *polyhedronData
);
Discussion

Release memory allocated by Q3Polyhedron_GetData.

Parameter Descriptions
polyhedronData
Data describing a Polyhedron, previously obtained with Q3Polyhedron_GetData.
function result
Success or failure of the operation.

Q3Polyhedron_GetData


( TQ3Status ) Q3Polyhedron_GetData (
    TQ3GeometryObject polyhedron,
    TQ3PolyhedronData *polyhedronData
);
Discussion

Get the data of a Polyhedron object.

This function may allocate memory, which should be freed using Q3Polyhedron_EmptyData.

Parameter Descriptions
polyhedron
A Polyhedron object.
polyhedronData
Receives data describing the Polyhedron object.
function result
Success or failure of the operation.

Q3Polyhedron_GetEdgeData


( TQ3Status ) Q3Polyhedron_GetEdgeData (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 edgeIndex,
    TQ3PolyhedronEdgeData *edgeData
);
Discussion

Get the data of a polyhedron edge.

Parameter Descriptions
polyhedron
The polyhedron to query.
edgeIndex
The index of the edge to query.
edgeData
Receives the data of the edge.
function result
Success or failure of the operation.

Q3Polyhedron_GetTriangleData


( TQ3Status ) Q3Polyhedron_GetTriangleData (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 triangleIndex,
    TQ3PolyhedronTriangleData *triangleData
);
Discussion

Get the data of a polyhedron triangle.

Parameter Descriptions
polyhedron
The polyhedron to query.
triangleIndex
The index of the triangle to query.
triangleData
Receives the data of the triangle.
function result
Success or failure of the operation.

Q3Polyhedron_GetVertexAttributeSet


( TQ3Status ) Q3Polyhedron_GetVertexAttributeSet (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 index,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the position of a polyhedron vertex.

Parameter Descriptions
polyhedron
The polyhedron to query.
index
The index of the vertex to query.
attributeSet
Receives the attribute set of the vertex.
function result
Success or failure of the operation.

Q3Polyhedron_GetVertexPosition


( TQ3Status ) Q3Polyhedron_GetVertexPosition (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 index,
    TQ3Point3D *point
);
Discussion

Get the position of a polyhedron vertex.

Parameter Descriptions
polyhedron
The polyhedron to query.
index
The index of the vertex to query.
point
Receives the position of the vertex.
function result
Success or failure of the operation.

Q3Polyhedron_New


( TQ3GeometryObject ) Q3Polyhedron_New (
    const TQ3PolyhedronData *polyhedronData
);
Discussion

Create a new polyhedron geometry object.

Parameter Descriptions
polyhedronData
Data describing a polyhedron.
function result
Reference to a new Polyhedron geometry object, or NULL on failure.

Q3Polyhedron_SetData


( TQ3Status ) Q3Polyhedron_SetData (
    TQ3GeometryObject polyhedron,
    const TQ3PolyhedronData *polyhedronData
);
Discussion

Modify a polyhedron object by supplying a full new set of data.

Parameter Descriptions
polyhedron
A polyhedron object.
polyhedronData
Data describing a polyhedron.
function result
Success or failure of the operation.

Q3Polyhedron_SetEdgeData


( TQ3Status ) Q3Polyhedron_SetEdgeData (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 edgeIndex,
    const TQ3PolyhedronEdgeData *edgeData
);
Discussion

Set the data of a polyhedron edge.

Parameter Descriptions
polyhedron
The polyhedron to update.
edgeIndex
The index of the edge to update.
edgeData
The new data for the edge.
function result
Success or failure of the operation.

Q3Polyhedron_SetTriangleData


( TQ3Status ) Q3Polyhedron_SetTriangleData (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 triangleIndex,
    const TQ3PolyhedronTriangleData *triangleData
);
Discussion

Set the data of a polyhedron triangle.

Parameter Descriptions
polyhedron
The polyhedron to update.
triangleIndex
The index of the triangle to update.
triangleData
The new data for the triangle.
function result
Success or failure of the operation.

Q3Polyhedron_SetVertexAttributeSet


( TQ3Status ) Q3Polyhedron_SetVertexAttributeSet (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 index,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a polyhedron vertex.

Parameter Descriptions
polyhedron
The polyhedron to update.
index
The index of the vertex to update.
attributeSet
The new attribute set for the vertex.
function result
Success or failure of the operation.

Q3Polyhedron_SetVertexPosition


( TQ3Status ) Q3Polyhedron_SetVertexPosition (
    TQ3GeometryObject polyhedron,
    TQ3Uns32 index,
    const TQ3Point3D *point
);
Discussion

Set the position of a polyhedron vertex.

Parameter Descriptions
polyhedron
The polyhedron to update.
index
The index of the vertex to update.
point
The new position for the vertex.
function result
Success or failure of the operation.

Q3Polyhedron_Submit


( TQ3Status ) Q3Polyhedron_Submit (
    const TQ3PolyhedronData *polyhedronData,
    TQ3ViewObject view
);
Discussion

Submits a polyhedron for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
polyhedronData
Data describing a polyhedron.
view
A view object.
function result
Success or failure of the operation.

Q3Torus_EmptyData


( TQ3Status ) Q3Torus_EmptyData (
    TQ3TorusData *torusData
);
Discussion

Release memory allocated by Q3Torus_GetData.

Parameter Descriptions
torusData
Data describing a Torus, previously obtained with Q3Torus_GetData.
function result
Success or failure of the operation.

Q3Torus_GetData


( TQ3Status ) Q3Torus_GetData (
    TQ3GeometryObject torus,
    TQ3TorusData *torusData
);
Discussion

Get the data of a Torus object.

This function may allocate memory, which should be freed using Q3Torus_EmptyData.

Parameter Descriptions
torus
A Torus object.
torusData
Receives data describing the Torus object.
function result
Success or failure of the operation.

Q3Torus_GetMajorRadius


( TQ3Status ) Q3Torus_GetMajorRadius (
    TQ3GeometryObject torus,
    TQ3Vector3D *majorRadius
);
Discussion

Get the major radius vector of a Torus object.

Parameter Descriptions
torus
The Torus object.
majorRadius
Receives the major radius vector.
function result
Success or failure of the operation.

Q3Torus_GetMinorRadius


( TQ3Status ) Q3Torus_GetMinorRadius (
    TQ3GeometryObject torus,
    TQ3Vector3D *minorRadius
);
Discussion

Get the minor radius vector of a Torus object.

Parameter Descriptions
torus
The Torus object.
minorRadius
Receives the minor radius vector.
function result
Success or failure of the operation.

Q3Torus_GetOrientation


( TQ3Status ) Q3Torus_GetOrientation (
    TQ3GeometryObject torus,
    TQ3Vector3D *orientation
);
Discussion

Get the orientation vector of a torus.

Parameter Descriptions
torus
A torus object.
orientation
Receives the orientation vector of the torus.
function result
Success or failure of the operation.

Q3Torus_GetOrigin


( TQ3Status ) Q3Torus_GetOrigin (
    TQ3GeometryObject torus,
    TQ3Point3D *origin
);
Discussion

Get the origin of a Torus object.

Parameter Descriptions
torus
The Torus object.
origin
Receives the origin.
function result
Success or failure of the operation.

Q3Torus_GetRatio


( TQ3Status ) Q3Torus_GetRatio (
    TQ3GeometryObject torus,
    float *ratio
);
Discussion

Get the ratio of a torus.

Parameter Descriptions
torus
The torus to query.
ratio
Receives the ratio of the torus.
function result
Success or failure of the operation.

Q3Torus_New


( TQ3GeometryObject ) Q3Torus_New (
    const TQ3TorusData *torusData
);
Discussion

Create a new torus geometry object.

If you pass NULL, you will get a default torus with orientation (1, 0, 0), major axis (0, 1, 0), minor axis (0, 0, 1), origin (0, 0, 0), and ratio 1. This behavior was not present in QuickDraw 3D.

Parameter Descriptions
torusData
Data describing a torus, or NULL.
function result
Reference to a new Torus geometry object, or NULL on failure.

Q3Torus_SetData


( TQ3Status ) Q3Torus_SetData (
    TQ3GeometryObject torus,
    const TQ3TorusData *torusData
);
Discussion

Modify a torus object by supplying a full new set of data.

Parameter Descriptions
torus
A torus object.
torusData
Data describing a torus.
function result
Success or failure of the operation.

Q3Torus_SetMajorRadius


( TQ3Status ) Q3Torus_SetMajorRadius (
    TQ3GeometryObject torus,
    const TQ3Vector3D *majorRadius
);
Discussion

Change the major radius vector of a Torus object.

Parameter Descriptions
torus
The Torus object.
majorRadius
New major radius vector.
function result
Success or failure of the operation.

Q3Torus_SetMinorRadius


( TQ3Status ) Q3Torus_SetMinorRadius (
    TQ3GeometryObject torus,
    const TQ3Vector3D *minorRadius
);
Discussion

Change the minor radius vector of a Torus object.

Parameter Descriptions
torus
The Torus object.
minorRadius
New minor radius vector.
function result
Success or failure of the operation.

Q3Torus_SetOrientation


( TQ3Status ) Q3Torus_SetOrientation (
    TQ3GeometryObject torus,
    const TQ3Vector3D *orientation
);
Discussion

Change the orientation vector of a torus object.

Parameter Descriptions
torus
A torus object.
orientation
New orientation vector for the torus.
function result
Success or failure of the operation.

Q3Torus_SetOrigin


( TQ3Status ) Q3Torus_SetOrigin (
    TQ3GeometryObject torus,
    const TQ3Point3D *origin
);
Discussion

Change the origin of a torus object.

Parameter Descriptions
torus
The torus object.
origin
The new origin.
function result
Success or failure of the operation.

Q3Torus_SetRatio


( TQ3Status ) Q3Torus_SetRatio (
    TQ3GeometryObject torus,
    float ratio
);
Discussion

Set the ratio of a torus.

Parameter Descriptions
torus
The torus to update.
ratio
The new ratio for the torus.
function result
Success or failure of the operation.

Q3Torus_Submit


( TQ3Status ) Q3Torus_Submit (
    const TQ3TorusData *torusData,
    TQ3ViewObject view
);
Discussion

Submits a torus for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
torusData
Data describing a torus.
view
A view object.
function result
Success or failure of the operation.

Q3TriGrid_EmptyData


( TQ3Status ) Q3TriGrid_EmptyData (
    TQ3TriGridData *triGridData
);
Discussion

Release memory allocated by Q3TriGrid_GetData.

Parameter Descriptions
triGridData
Data describing a TriGrid, previously obtained with Q3TriGrid_GetData.
function result
Success or failure of the operation.

Q3TriGrid_GetData


( TQ3Status ) Q3TriGrid_GetData (
    TQ3GeometryObject triGrid,
    TQ3TriGridData *triGridData
);
Discussion

Get the data of a TriGrid object.

This function may allocate memory, which should be freed using Q3TriGrid_EmptyData.

Parameter Descriptions
triGrid
A TriGrid object.
triGridData
Receives data describing the TriGrid object.
function result
Success or failure of the operation.

Q3TriGrid_GetFacetAttributeSet


( TQ3Status ) Q3TriGrid_GetFacetAttributeSet (
    TQ3GeometryObject triGrid,
    TQ3Uns32 faceIndex,
    TQ3AttributeSet *facetAttributeSet
);
Discussion

Get the attribute set of a trigrid face.

Parameter Descriptions
triGrid
The trigrid to query.
faceIndex
The index of the face to query.
facetAttributeSet
Receives the attribute set of the trigrid face.
function result
Success or failure of the operation.

Q3TriGrid_GetVertexAttributeSet


( TQ3Status ) Q3TriGrid_GetVertexAttributeSet (
    TQ3GeometryObject triGrid,
    TQ3Uns32 rowIndex,
    TQ3Uns32 columnIndex,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a trigrid vertex.

Parameter Descriptions
triGrid
The trigrid to query.
rowIndex
The row index of the vertex to query.
columnIndex
The column index of the vertex to query.
attributeSet
Receives the attribute set of the trigrid vertex.
function result
Success or failure of the operation.

Q3TriGrid_GetVertexPosition


( TQ3Status ) Q3TriGrid_GetVertexPosition (
    TQ3GeometryObject triGrid,
    TQ3Uns32 rowIndex,
    TQ3Uns32 columnIndex,
    TQ3Point3D *position
);
Discussion

Get the position of a trigrid vertex.

Parameter Descriptions
triGrid
The trigrid to query.
rowIndex
The row index of the vertex to query.
columnIndex
The column index of the vertex to query.
position
Receives the position of the trigrid vertex.
function result
Success or failure of the operation.

Q3TriGrid_New


( TQ3GeometryObject ) Q3TriGrid_New (
    const TQ3TriGridData *triGridData
);
Discussion

Create a new TriGrid geometry object.

Parameter Descriptions
triGridData
Data describing a TriGrid.
function result
Reference to a new TriGrid geometry object, or NULL on failure.

Q3TriGrid_SetData


( TQ3Status ) Q3TriGrid_SetData (
    TQ3GeometryObject triGrid,
    const TQ3TriGridData *triGridData
);
Discussion

Modify a TriGrid object by supplying a full new set of data.

Parameter Descriptions
triGrid
A TriGrid object.
triGridData
Data describing a TriGrid.
function result
Success or failure of the operation.

Q3TriGrid_SetFacetAttributeSet


( TQ3Status ) Q3TriGrid_SetFacetAttributeSet (
    TQ3GeometryObject triGrid,
    TQ3Uns32 faceIndex,
    TQ3AttributeSet facetAttributeSet
);
Discussion

Set the attribute set of a trigrid face.

Parameter Descriptions
triGrid
The trigrid to update.
faceIndex
The index of the face to update.
facetAttributeSet
The new attribute set for the trigrid face.
function result
Success or failure of the operation.

Q3TriGrid_SetVertexAttributeSet


( TQ3Status ) Q3TriGrid_SetVertexAttributeSet (
    TQ3GeometryObject triGrid,
    TQ3Uns32 rowIndex,
    TQ3Uns32 columnIndex,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a trigrid vertex.

Parameter Descriptions
triGrid
The trigrid to update.
rowIndex
The row index of the vertex to update.
columnIndex
The column index of the vertex to update.
attributeSet
The new attribute set for the trigrid vertex.
function result
Success or failure of the operation.

Q3TriGrid_SetVertexPosition


( TQ3Status ) Q3TriGrid_SetVertexPosition (
    TQ3GeometryObject triGrid,
    TQ3Uns32 rowIndex,
    TQ3Uns32 columnIndex,
    const TQ3Point3D *position
);
Discussion

Set the position of a trigrid vertex.

Parameter Descriptions
triGrid
The trigrid to update.
rowIndex
The row index of the vertex to update.
columnIndex
The column index of the vertex to update.
position
The new position for the trigrid vertex.
function result
Success or failure of the operation.

Q3TriGrid_Submit


( TQ3Status ) Q3TriGrid_Submit (
    const TQ3TriGridData *triGridData,
    TQ3ViewObject view
);
Discussion

Submits a TriGrid for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
triGridData
Data describing a TriGrid.
view
A view object.
function result
Success or failure of the operation.

Q3TriMesh_EmptyData


( TQ3Status ) Q3TriMesh_EmptyData (
    TQ3TriMeshData *triMeshData
);
Discussion

Release memory allocated by Q3TriMesh_GetData.

Parameter Descriptions
triMeshData
Data describing a TriMesh, previously obtained with Q3TriMesh_GetData.
function result
Success or failure of the operation.

Q3TriMesh_GetData


( TQ3Status ) Q3TriMesh_GetData (
    TQ3GeometryObject triMesh,
    TQ3TriMeshData *triMeshData
);
Discussion

Get the data of a TriMesh object.

This function may allocate memory, which should be freed using Q3TriMesh_EmptyData.

Parameter Descriptions
triMesh
A TriMesh object.
triMeshData
Receives data describing the TriMesh object.
function result
Success or failure of the operation.

Q3TriMesh_LockData


( TQ3Status ) Q3TriMesh_LockData (
    TQ3GeometryObject triMesh,
    TQ3Boolean readOnly,
    TQ3TriMeshData **triMeshData
);
Discussion

Lock a Trimesh for direct access.

Returns a pointer to the internal TQ3TriMeshData for a TriMesh, allowing direct access without the need to copy TriMesh data out of and back in to Quesa.

The readOnly flag should be used to indicate if the application needs to make changes to the TriMesh data, or if the pointer should be considered const.

When the application no longer needs access to the TriMesh data, it must unlock the TriMesh with Q3TriMesh_UnlockData. Changes to the TriMesh data may not be relayed to renderers until the TriMesh has been unlocked.

This function is not available in QD3D.

Parameter Descriptions
triMesh
The TriMesh to lock.
readOnly
Indicates if the returned data is read-only.
triMeshData
Receives a pointer to the TQ3TriMeshData for the TriMesh.
function result
Success or failure of the operation.

Q3TriMesh_MakeTriangleStrip


Compute a triangle strip.
( TQ3Status ) Q3TriMesh_MakeTriangleStrip (
    TQ3Uns32 inNumTriangles,
    const TQ3Uns32* inTriangles,
    TQ3Uns32* outStripLength,
    TQ3Uns32** outStrip
);
Discussion

Although this function does not take a TriMesh as a parameter, it is grouped with TriMesh functions because Quesa's OpenGL renderer currently only uses triangle strips with TriMeshes.

Also see the triangle strip element functions in QuesaCustomElements.h.

When you are finished with the data returned in the outStrip parameter, free it using Q3Memory_Free.

This function is not available in QD3D.

Parameter Descriptions
inNumTriangles
Number of triangles.
inTriangles
Point indices for the triangles. The length of this array should be 3 * inNumTriangles.
outStripLength
Receives number of indices in outStrip.
outStrip
Receives pointer to array of point indices in the strip. You are responsible for freeing this memory with Q3Memory_Free.
function result
Success or failure of the operation.

Q3TriMesh_New


( TQ3GeometryObject ) Q3TriMesh_New (
    const TQ3TriMeshData *triMeshData
);
Discussion

Create a new TriMesh geometry object.

If you wish, you can set the isEmpty flag in the bBox field, and Quesa will compute the bounding box.

Parameter Descriptions
triMeshData
Data describing a TriMesh.
function result
Reference to a new TriMesh geometry object, or NULL on failure.

Q3TriMesh_Optimize


Modify a TriMesh, if needed, for efficient use by the interactive renderer.

( TQ3GeometryObject ) Q3TriMesh_Optimize (
    TQ3GeometryObject inTriMesh
);
Discussion

See discussion of Q3TriMesh_OptimizeData for the optimizations that are performed. If no optimizations are needed, NULL is returned.

This function is not available in QD3D.

Parameter Descriptions
inTriMesh
A TriMesh geometry.
function result
A TriMesh or NULL.

Q3TriMesh_OptimizeData


Modify TriMesh data, if needed, for efficient use by the interactive renderer.

( TQ3Status ) Q3TriMesh_OptimizeData (
    const TQ3TriMeshData* inData,
    TQ3TriMeshData* outData,
    TQ3Boolean* outDidChange
);
Discussion

This operation modifies TriMesh data so that:

  1. Face normals exist.
  2. Vertex normals exist.
  3. If Face colors exist, then vertex colors exist.
If face normals do not already exist, they will be computed by cross products of edges. The orientation will be assumed to be counterclockwise.

If vertex normals do not already exist, they will be derived from face normals. When a vertex belongs to faces with different normals, the vertex will be duplicated.

If a color attribute (diffuse, transparent, or specular) exists on faces but not vertices, it will be converted to a vertex attribute, duplicating vertices when needed.

If no optimization is needed, outDidChange will return kQ3False and outData will be cleared to zero. If optimization was performed, indicated by outDidChange being kQ3True, then you are responsible for calling Q3TriMesh_EmptyData on the outData structure when you are done with it.

The time it takes to perform the optimization depends on the numbers of vertices, faces, edges, and attributes in the TriMesh. However, determining whether optimization is needed is quick, as it depends only on the number of attribute types.

This function is not available in QD3D.

Parameter Descriptions
inData
TriMesh data.
outData
Receives new TriMesh data, if outDidChange is true.
outDidChange
Receives a flag indicating whether new data was created.
function result
Success or failure of the operation.

Q3TriMesh_SetData


( TQ3Status ) Q3TriMesh_SetData (
    TQ3GeometryObject triMesh,
    const TQ3TriMeshData *triMeshData
);
Discussion

Modify a TriMesh object by supplying a full new set of data.

If you wish, you can set the isEmpty flag in the bBox field, and Quesa will compute the bounding box.

Parameter Descriptions
triMesh
A TriMesh object.
triMeshData
Data describing a TriMesh.
function result
Success or failure of the operation.

Q3TriMesh_Submit


( TQ3Status ) Q3TriMesh_Submit (
    const TQ3TriMeshData *triMeshData,
    TQ3ViewObject view
);
Discussion

Submits a TriMesh for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
triMeshData
Data describing a TriMesh.
view
A view object.
function result
Success or failure of the operation.

Q3TriMesh_UnlockData


( TQ3Status ) Q3TriMesh_UnlockData (
    TQ3GeometryObject triMesh
);
Discussion

Unlocks a TriMesh previously locked with Q3TriMesh_LockData.

This function is not available in QD3D.

Parameter Descriptions
triMesh
The TriMesh to unlock.
function result
Success or failure of the operation.

Q3Triangle_EmptyData


( TQ3Status ) Q3Triangle_EmptyData (
    TQ3TriangleData *triangleData
);
Discussion

Release memory allocated by Q3Triangle_GetData.

Parameter Descriptions
triangleData
Data describing a Triangle, previously obtained with Q3Triangle_GetData.
function result
Success or failure of the operation.

Q3Triangle_GetData


( TQ3Status ) Q3Triangle_GetData (
    TQ3GeometryObject triangle,
    TQ3TriangleData *triangleData
);
Discussion

Get the data of a Triangle object.

This function may allocate memory, which should be freed using Q3Triangle_EmptyData.

Parameter Descriptions
triangle
A Triangle object.
triangleData
Receives data describing the Triangle object.
function result
Success or failure of the operation.

Q3Triangle_GetVertexAttributeSet


( TQ3Status ) Q3Triangle_GetVertexAttributeSet (
    TQ3GeometryObject triangle,
    TQ3Uns32 index,
    TQ3AttributeSet *attributeSet
);
Discussion

Get the attribute set of a triangle vertex.

Parameter Descriptions
triangle
The triangle to query.
index
The index of the vertex to query.
attributeSet
Receives the attribute set of the triangle vertex.
function result
Success or failure of the operation.

Q3Triangle_GetVertexPosition


( TQ3Status ) Q3Triangle_GetVertexPosition (
    TQ3GeometryObject triangle,
    TQ3Uns32 index,
    TQ3Point3D *point
);
Discussion

Get the position of a triangle vertex.

Parameter Descriptions
triangle
The triangle to query.
index
The index of the vertex to query.
point
Receives the position of the triangle vertex.
function result
Success or failure of the operation.

Q3Triangle_New


( TQ3GeometryObject ) Q3Triangle_New (
    const TQ3TriangleData *triangleData
);
Discussion

Create a new triangle geometry object.

Parameter Descriptions
triangleData
Data describing a triangle.
function result
Reference to a new Triangle geometry object, or NULL on failure.

Q3Triangle_SetData


( TQ3Status ) Q3Triangle_SetData (
    TQ3GeometryObject triangle,
    const TQ3TriangleData *triangleData
);
Discussion

Modify a triangle object by supplying a full new set of data.

Parameter Descriptions
triangle
A triangle object.
triangleData
Data describing a triangle.
function result
Success or failure of the operation.

Q3Triangle_SetVertexAttributeSet


( TQ3Status ) Q3Triangle_SetVertexAttributeSet (
    TQ3GeometryObject triangle,
    TQ3Uns32 index,
    TQ3AttributeSet attributeSet
);
Discussion

Set the attribute set of a triangle vertex.

Parameter Descriptions
triangle
The triangle to update.
index
The index of the vertex to update.
attributeSet
The new attribute set for the triangle vertex.
function result
Success or failure of the operation.

Q3Triangle_SetVertexPosition


( TQ3Status ) Q3Triangle_SetVertexPosition (
    TQ3GeometryObject triangle,
    TQ3Uns32 index,
    const TQ3Point3D *point
);
Discussion

Set the position of a triangle vertex.

Parameter Descriptions
triangle
The triangle to update.
index
The index of the vertex to update.
point
The new position for the triangle vertex.
function result
Success or failure of the operation.

Q3Triangle_Submit


( TQ3Status ) Q3Triangle_Submit (
    const TQ3TriangleData *triangleData,
    TQ3ViewObject view
);
Discussion

Submits a triangle for drawing, picking, bounding, or writing in immediate mode.

This function should only be called in a submitting loop.

Parameter Descriptions
triangleData
Data describing a triangle.
view
A view object.
function result
Success or failure of the operation.

© 1999-2008 Quesa Developers (Last Updated 5/10/2008)