Functions



Q3Box_EmptyData

TQ3Status  
Q3Box_EmptyData (
    TQ3BoxData                    *boxData
);

Releases the memory allocated by a prior call to Q3Box_GetData.

Parameters

NameDescription
boxDataA pointer to the box data allocated by Q3Box_GetData().
Result: Success or failure of the operation.

Q3Box_GetData

TQ3Status  
Q3Box_GetData (
    TQ3GeometryObject             box,
    TQ3BoxData                    *boxData
);

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.

Parameters

NameDescription
boxA reference to a box geometry object.
boxDataReceives the box object's description.
Result: Success or failure of the operation.

Q3Box_GetFaceAttributeSet

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

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.

Parameters

NameDescription
boxA reference to a box geometry object.
faceIndexThe index of the face of the box.
faceAttributeSetReceives a reference to the attribute set of the box face, or NULL if the face does not have an attribute set.
Result: Success or failure of the operation.

Q3Box_GetMajorAxis

TQ3Status  
Q3Box_GetMajorAxis (
    TQ3GeometryObject             box,
    TQ3Vector3D                   *majorAxis
);

Gets the major axis of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
majorAxisReceives the major axis of the box.
Result: Success or failure of the operation.

Q3Box_GetMinorAxis

TQ3Status  
Q3Box_GetMinorAxis (
    TQ3GeometryObject             box,
    TQ3Vector3D                   *minorAxis
);

Gets the minor axis of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
minorAxisReceives the minor axis of the box.
Result: Success or failure of the operation.

Q3Box_GetOrientation

TQ3Status  
Q3Box_GetOrientation (
    TQ3GeometryObject             box,
    TQ3Vector3D                   *orientation
);

Gets the orientation of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
orientationReceives the orientation vector of the box.
Result: Success or failure of the operation.

Q3Box_GetOrigin

TQ3Status  
Q3Box_GetOrigin (
    TQ3GeometryObject             box,
    TQ3Point3D                    *origin
);

Gets the origin of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
originReceives the origin of the box object.
Result: Success or failure of the operation.

Q3Box_New

TQ3GeometryObject  
Q3Box_New (
    const TQ3BoxData              *boxData
);

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.

Parameters

NameDescription
boxDataInstance data passed in specifying the parameters of the new box object, or NULL.
Result: A reference to the new geometry object, or NULL on failure.

Q3Box_SetData

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

Sets the properties of an existing box object.

Parameters

NameDescription
boxA reference to a box geometry object.
boxDataA pointer to the box data to apply to the box object.
Result: Success or failure of the operation.

Q3Box_SetFaceAttributeSet

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

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).

Parameters

NameDescription
boxA reference to a box geometry object.
faceIndexThe index of the face of the box.
faceAttributeSetAn attribute set to be applied.
Result: Success or failure of the operation.

Q3Box_SetMajorAxis

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

Sets the major axis of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
majorAxisThe vector to which to set 'box's major axis.
Result: Success or failure of the operation.

Q3Box_SetMinorAxis

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

Sets the minor axis of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
minorAxisThe vector to which to set 'box's minor axis.
Result: Success or failure of the operation.

Q3Box_SetOrientation

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

Sets the orientation of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
orientationThe vector to which to set 'box's orientation.
Result: Success or failure of the operation.

Q3Box_SetOrigin

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

Sets the origin of a box object.

Parameters

NameDescription
boxA reference to a box geometry object.
originThe point to which to set 'box's origin.
Result: Success or failure of the operation.

Q3Box_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
boxDataA pointer to a TQ3BoxData structure specifying the box to be drawn.
viewThe view to submit the box to.
Result: Success or failure of the operation.

Q3Cone_EmptyData

TQ3Status  
Q3Cone_EmptyData (
    TQ3ConeData                   *coneData
);

Release memory allocated by Q3Cone_GetData.

Parameters

NameDescription
coneDataData describing a cone, previously obtained with Q3Cone_GetData.
Result: Success or failure of the operation.

Q3Cone_GetBottomAttributeSet

TQ3Status  
Q3Cone_GetBottomAttributeSet (
    TQ3GeometryObject             cone,
    TQ3AttributeSet               *bottomAttributeSet
);

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

Parameters

NameDescription
coneThe cone object.
bottomAttributeSetReceives a reference to the bottom attribute set, or NULL.
Result: Success or failure of the operation.

Q3Cone_GetCaps

TQ3Status  
Q3Cone_GetCaps (
    TQ3GeometryObject             cone,
    TQ3EndCap                     *caps
);

Get the end cap flags of a cone object.

Parameters

NameDescription
coneThe cone object.
capsReceives the end cap flags. See TQ3EndCapMasks, defined in Quesa.h, for values.
Result: Success or failure of the operation.

Q3Cone_GetData

TQ3Status  
Q3Cone_GetData (
    TQ3GeometryObject             cone,
    TQ3ConeData                   *coneData
);

Get data describing a cone object.

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

Parameters

NameDescription
coneThe cone object.
coneDataReceives data describing the cone.
Result: Success or failure of the operation.

Q3Cone_GetFaceAttributeSet

TQ3Status  
Q3Cone_GetFaceAttributeSet (
    TQ3GeometryObject             cone,
    TQ3AttributeSet               *faceAttributeSet
);

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

Parameters

NameDescription
coneThe cone object.
faceAttributeSetReceives the attribute set for the face, or NULL.
Result: Success or failure of the operation.

Q3Cone_GetInteriorAttributeSet

TQ3Status  
Q3Cone_GetInteriorAttributeSet (
    TQ3GeometryObject             cone,
    TQ3AttributeSet               *interiorAttributeSet
);

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

This function is not available in QD3D.

Parameters

NameDescription
cylinderA cone object.
faceAttributeSetReceives the attribute set for the interior, or NULL.
Result: Success or failure of the operation.

Q3Cone_GetMajorRadius

TQ3Status  
Q3Cone_GetMajorRadius (
    TQ3GeometryObject             cone,
    TQ3Vector3D                   *majorRadius
);

Get the major radius vector of a cone object.

Parameters

NameDescription
coneThe cone object.
majorRadiusReceives the major radius vector.
Result: Success or failure of the operation.

Q3Cone_GetMinorRadius

TQ3Status  
Q3Cone_GetMinorRadius (
    TQ3GeometryObject             cone,
    TQ3Vector3D                   *minorRadius
);

Get the minor radius vector of a cone object.

Parameters

NameDescription
coneThe cone object.
minorRadiusReceives the minor radius vector.
Result: Success or failure of the operation.

Q3Cone_GetOrientation

TQ3Status  
Q3Cone_GetOrientation (
    TQ3GeometryObject             cone,
    TQ3Vector3D                   *orientation
);

Get the orientation vector of a cone object.

Parameters

NameDescription
coneThe cone object.
orientationReceives the orientation vector.
Result: Success or failure of the operation.

Q3Cone_GetOrigin

TQ3Status  
Q3Cone_GetOrigin (
    TQ3GeometryObject             cone,
    TQ3Point3D                    *origin
);

Get the origin of a cone object.

Parameters

NameDescription
coneThe cone object.
originReceives the origin.
Result: Success or failure of the operation.

Q3Cone_New

TQ3GeometryObject  
Q3Cone_New (
    const TQ3ConeData             *coneData
);

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.

Parameters

NameDescription
coneDataPointer to data describing the cone, or NULL.
Result: The new cone object, or NULL on failure.

Q3Cone_SetBottomAttributeSet

TQ3Status  
Q3Cone_SetBottomAttributeSet (
    TQ3GeometryObject             cone,
    TQ3AttributeSet               bottomAttributeSet
);

Change the bottom attribute set of a cone object.

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

Parameters

NameDescription
coneThe cone object.
bottomAttributeSetNew bottom attribute set. May be NULL.
Result: Success or failure of the operation.

Q3Cone_SetCaps

TQ3Status  
Q3Cone_SetCaps (
    TQ3GeometryObject             cone,
    TQ3EndCap                     caps
);

Set the end cap flags of a cone object.

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

Parameters

NameDescription
coneThe cone object.
capsEnd cap value (do not include kQ3EndCapMaskTop).
Result: Success or failure of the operation.

Q3Cone_SetData

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

Modify a cone object by supplying new data.

Parameters

NameDescription
coneThe cone object.
coneDataPointer to data describing a cone.
Result: Success or failure of the operation.

Q3Cone_SetFaceAttributeSet

TQ3Status  
Q3Cone_SetFaceAttributeSet (
    TQ3GeometryObject             cone,
    TQ3AttributeSet               faceAttributeSet
);

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

Parameters

NameDescription
coneThe cone object.
faceAttributeSetNew face attribute set. May be NULL.
Result: Success or failure of the operation.

Q3Cone_SetInteriorAttributeSet

TQ3Status  
Q3Cone_SetInteriorAttributeSet (
    TQ3GeometryObject             cone,
    TQ3AttributeSet               interiorAttributeSet
);

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

This function is not available in QD3D.

Parameters

NameDescription
cylinderA cone object.
faceAttributeSetNew attribute set for the interior of the cone.
Result: Success or failure of the operation.

Q3Cone_SetMajorRadius

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

Change the major radius vector of a cone object.

Parameters

NameDescription
coneThe cone object.
majorRadiusNew major radius vector.
Result: Success or failure of the operation.

Q3Cone_SetMinorRadius

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

Change the minor radius vector of a cone object.

Parameters

NameDescription
coneThe cone object.
minorRadiusNew minor radius vector.
Result: Success or failure of the operation.

Q3Cone_SetOrientation

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

Change the orientation vector of a cone object.

Parameters

NameDescription
coneThe cone object.
orientationThe new orientation vector.
Result: Success or failure of the operation.

Q3Cone_SetOrigin

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

Change the origin of a cone object.

Parameters

NameDescription
coneThe cone object.
originThe new origin.
Result: Success or failure of the operation.

Q3Cone_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
coneDataPointer to data describing a cone.
viewA view object.
Result: Success or failure of the operation.

Q3Cylinder_EmptyData

TQ3Status  
Q3Cylinder_EmptyData (
    TQ3CylinderData               *cylinderData
);

Free memory allocated by Q3Cylinder_GetData.

Parameters

NameDescription
cylinderDataCylinder data previously obtained using Q3Cylinder_GetData.
Result: Success or failure of the operation.

Q3Cylinder_GetBottomAttributeSet

TQ3Status  
Q3Cylinder_GetBottomAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               *bottomAttributeSet
);

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

Parameters

NameDescription
cylinderA cylinder object.
bottomAttributeSetReceives the attribute set for the bottom cap, or NULL.
Result: Success or failure of the operation.

Q3Cylinder_GetCaps

TQ3Status  
Q3Cylinder_GetCaps (
    TQ3GeometryObject             cylinder,
    TQ3EndCap                     *caps
);

Get the cap flags of a cylinder object.

Parameters

NameDescription
cylinderA cylinder object.
capsReceives the end cap flags. See TQ3EndCapMasks, defined in Quesa.h, for values.
Result: Success or failure of the operation.

Q3Cylinder_GetData

TQ3Status  
Q3Cylinder_GetData (
    TQ3GeometryObject             cylinder,
    TQ3CylinderData               *cylinderData
);

Get data describing a cylinder.

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

Parameters

NameDescription
cylinderA cylinder object.
cylinderDataReceives data describing the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_GetFaceAttributeSet

TQ3Status  
Q3Cylinder_GetFaceAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               *faceAttributeSet
);

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

Parameters

NameDescription
cylinderA cylinder object.
faceAttributeSetReceives the attribute set for the face, or NULL.
Result: Success or failure of the operation.

Q3Cylinder_GetInteriorAttributeSet

TQ3Status  
Q3Cylinder_GetInteriorAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               *interiorAttributeSet
);

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

This function is not available in QD3D.

Parameters

NameDescription
cylinderA cylinder object.
faceAttributeSetReceives the attribute set for the interior, or NULL.
Result: Success or failure of the operation.

Q3Cylinder_GetMajorRadius

TQ3Status  
Q3Cylinder_GetMajorRadius (
    TQ3GeometryObject             cylinder,
    TQ3Vector3D                   *majorRadius
);

Get the major radius vector of a cylinder.

Parameters

NameDescription
cylinderA cylinder object.
majorRadiusReceives the major radius vector of the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_GetMinorRadius

TQ3Status  
Q3Cylinder_GetMinorRadius (
    TQ3GeometryObject             cylinder,
    TQ3Vector3D                   *minorRadius
);

Get the minor radius vector of a cylinder.

Parameters

NameDescription
cylinderA cylinder object.
minorRadiusReceives the minor radius vector of the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_GetOrientation

TQ3Status  
Q3Cylinder_GetOrientation (
    TQ3GeometryObject             cylinder,
    TQ3Vector3D                   *orientation
);

Get the orientation vector of a cylinder.

Parameters

NameDescription
cylinderA cylinder object.
orientationReceives the orientation vector of the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_GetOrigin

TQ3Status  
Q3Cylinder_GetOrigin (
    TQ3GeometryObject             cylinder,
    TQ3Point3D                    *origin
);

Get the origin of a cylinder.

Parameters

NameDescription
cylinderA cylinder object.
originReceives the origin of the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_GetTopAttributeSet

TQ3Status  
Q3Cylinder_GetTopAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               *topAttributeSet
);

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

Parameters

NameDescription
cylinderA cylinder object.
topAttributeSetReceives the attribute set for the top cap, or NULL.
Result: Success or failure of the operation.

Q3Cylinder_New

TQ3GeometryObject  
Q3Cylinder_New (
    const TQ3CylinderData         *cylinderData
);

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.

Parameters

NameDescription
cylinderDataData describing a cylinder, or NULL.
Result: Reference to a new Cylinder geometry object, or NULL on failure.

Q3Cylinder_SetBottomAttributeSet

TQ3Status  
Q3Cylinder_SetBottomAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               bottomAttributeSet
);

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

Parameters

NameDescription
cylinderA cylinder object.
bottomAttributeSetNew attribute set for the bottom cap.
Result: Success or failure of the operation.

Q3Cylinder_SetCaps

TQ3Status  
Q3Cylinder_SetCaps (
    TQ3GeometryObject             cylinder,
    TQ3EndCap                     caps
);

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.

Parameters

NameDescription
cylinderA cylinder object.
capsThe end cap flags. See TQ3EndCapMasks, defined in Quesa.h, for values.
Result: Success or failure of the operation.

Q3Cylinder_SetData

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

Modify a cylinder object by supplying all new data.

Parameters

NameDescription
cylinderA cylinder object.
cylinderDataData describing a cylinder.
Result: Success or failure of the operation.

Q3Cylinder_SetFaceAttributeSet

TQ3Status  
Q3Cylinder_SetFaceAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               faceAttributeSet
);

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

Parameters

NameDescription
cylinderA cylinder object.
faceAttributeSetNew attribute set for the face of the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_SetInteriorAttributeSet

TQ3Status  
Q3Cylinder_SetInteriorAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               interiorAttributeSet
);

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.

Parameters

NameDescription
cylinderA cylinder object.
faceAttributeSetNew attribute set for the interior of the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_SetMajorRadius

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

Change the major radius vector of a cylinder object.

Parameters

NameDescription
cylinderA cylinder object.
majorRadiusNew major radius vector for the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_SetMinorRadius

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

Change the minor radius vector of a cylinder object.

Parameters

NameDescription
cylinderA cylinder object.
minorRadiusNew minor radius vector for the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_SetOrientation

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

Change the orientation vector of a cylinder object.

Parameters

NameDescription
cylinderA cylinder object.
orientationNew orientation vector for the cylinder.
Result: Success or failure of the operation.

Q3Cylinder_SetOrigin

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

Change the origin of a cylinder object.

Parameters

NameDescription
cylinderA cylinder object.
originNew point of origin.
Result: Success or failure of the operation.

Q3Cylinder_SetTopAttributeSet

TQ3Status  
Q3Cylinder_SetTopAttributeSet (
    TQ3GeometryObject             cylinder,
    TQ3AttributeSet               topAttributeSet
);

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

Parameters

NameDescription
cylinderA cylinder object.
topAttributeSetNew attribute set for the top cap.
Result: Success or failure of the operation.

Q3Cylinder_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
cylinderDataData describing a cylinder.
viewA view object.
Result: Success or failure of the operation.

Q3Disk_EmptyData

TQ3Status  
Q3Disk_EmptyData (
    TQ3DiskData                   *diskData
);

Free memory allocated by Q3Disk_GetData.

Parameters

NameDescription
diskDataData describing a disk object, previously obtained by Q3Disk_GetData.
Result: Success or failure of the operation.

Q3Disk_GetData

TQ3Status  
Q3Disk_GetData (
    TQ3GeometryObject             disk,
    TQ3DiskData                   *diskData
);

Get the data of a Disk object.

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

Parameters

NameDescription
diskA disk geometry object.
diskDataData describing a disk object.
Result: Success or failure of the operation.

Q3Disk_GetMajorRadius

TQ3Status  
Q3Disk_GetMajorRadius (
    TQ3GeometryObject             disk,
    TQ3Vector3D                   *majorRadius
);

Get the major radius vector of a disk object.

Parameters

NameDescription
diskA disk geometry object.
majorRadiusReceives the major radius vector of the disk.
Result: Success or failure of the operation.

Q3Disk_GetMinorRadius

TQ3Status  
Q3Disk_GetMinorRadius (
    TQ3GeometryObject             disk,
    TQ3Vector3D                   *minorRadius
);

Get the minor radius vector of a disk object.

Parameters

NameDescription
diskA disk geometry object.
minorRadiusReceives the minor radius vector of the disk.
Result: Success or failure of the operation.

Q3Disk_GetOrigin

TQ3Status  
Q3Disk_GetOrigin (
    TQ3GeometryObject             disk,
    TQ3Point3D                    *origin
);

Get the origin of a disk object.

Parameters

NameDescription
diskA disk geometry object.
originReceives the origin of the disk.
Result: Success or failure of the operation.

Q3Disk_New

TQ3GeometryObject  
Q3Disk_New (
    const TQ3DiskData             *diskData
);

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.

Parameters

NameDescription
diskDataData describing a disk object, or NULL.
Result: Reference to a new Disk geometry object, or NULL on failure.

Q3Disk_SetData

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

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

Parameters

NameDescription
diskA disk geometry object.
diskDataData describing a disk object.
Result: Success or failure of the operation.

Q3Disk_SetMajorRadius

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

Change the major radius vector of a disk object.

Parameters

NameDescription
diskA disk geometry object.
majorRadiusNew major radius vector for the disk object.
Result: Success or failure of the operation.

Q3Disk_SetMinorRadius

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

Change the minor radius vector of a disk object.

Parameters

NameDescription
diskA disk geometry object.
minorRadiusNew minor radius vector for the disk object.
Result: Success or failure of the operation.

Q3Disk_SetOrigin

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

Change the origin of a Disk object.

Parameters

NameDescription
diskA disk geometry object.
originNew origin for the disk.
Result: Success or failure of the operation.

Q3Disk_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
diskDataData describing a disk object.
viewA view object.
Result: Success or failure of the operation.

Q3Ellipse_EmptyData

TQ3Status  
Q3Ellipse_EmptyData (
    TQ3EllipseData                *ellipseData
);

Release memory allocated by Q3Ellipse_GetData.

Parameters

NameDescription
ellipseDataData describing an ellipse, previously obtained with Q3Ellipse_GetData.
Result: Success or failure of the operation.

Q3Ellipse_GetData

TQ3Status  
Q3Ellipse_GetData (
    TQ3GeometryObject             ellipse,
    TQ3EllipseData                *ellipseData
);

Get the data of an Ellipse object.

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

Parameters

NameDescription
ellipseAn ellipse object.
ellipseDataReceives data describing the ellipse object.
Result: Success or failure of the operation.

Q3Ellipse_GetMajorRadius

TQ3Status  
Q3Ellipse_GetMajorRadius (
    TQ3GeometryObject             ellipse,
    TQ3Vector3D                   *majorRadius
);

Get the major radius vector of an Ellipse object.

Parameters

NameDescription
ellipseThe Ellipse object.
majorRadiusReceives the major radius vector.
Result: Success or failure of the operation.

Q3Ellipse_GetMinorRadius

TQ3Status  
Q3Ellipse_GetMinorRadius (
    TQ3GeometryObject             ellipse,
    TQ3Vector3D                   *minorRadius
);

Get the minor radius vector of an Ellipse object.

Parameters

NameDescription
ellipseThe Ellipse object.
minorRadiusReceives the minor radius vector.
Result: Success or failure of the operation.

Q3Ellipse_GetOrigin

TQ3Status  
Q3Ellipse_GetOrigin (
    TQ3GeometryObject             ellipse,
    TQ3Point3D                    *origin
);

Get the origin of an Ellipse object.

Parameters

NameDescription
ellipseThe Ellipse object.
originReceives the origin.
Result: Success or failure of the operation.

Q3Ellipse_New

TQ3GeometryObject  
Q3Ellipse_New (
    const TQ3EllipseData          *ellipseData
);

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.

Parameters

NameDescription
ellipseDataData describing an ellipse, or NULL.
Result: Reference to a new Ellipse geometry object, or NULL on failure.

Q3Ellipse_SetData

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

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

Parameters

NameDescription
ellipseAn ellipse object.
ellipseDataData describing an ellipse.
Result: Success or failure of the operation.

Q3Ellipse_SetMajorRadius

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

Change the major radius vector of an Ellipse object.

Parameters

NameDescription
ellipseThe Ellipse object.
majorRadiusNew major radius vector.
Result: Success or failure of the operation.

Q3Ellipse_SetMinorRadius

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

Change the minor radius vector of an Ellipse object.

Parameters

NameDescription
ellipseThe Ellipse object.
minorRadiusNew minor radius vector.
Result: Success or failure of the operation.

Q3Ellipse_SetOrigin

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

Change the origin of an ellipse object.

Parameters

NameDescription
ellipseThe ellipse object.
originThe new origin.
Result: Success or failure of the operation.

Q3Ellipse_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
ellipseDataData describing an ellipse.
viewA view object.
Result: Success or failure of the operation.

Q3Ellipsoid_EmptyData

TQ3Status  
Q3Ellipsoid_EmptyData (
    TQ3EllipsoidData              *ellipsoidData
);

Release memory allocated by Q3Ellipsoid_GetData.

Parameters

NameDescription
ellipsoidDataData describing an Ellipsoid, previously obtained with Q3Ellipsoid_GetData.
Result: Success or failure of the operation.

Q3Ellipsoid_GetData

TQ3Status  
Q3Ellipsoid_GetData (
    TQ3GeometryObject             ellipsoid,
    TQ3EllipsoidData              *ellipsoidData
);

Get the data of an Ellipse object.

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

Parameters

NameDescription
ellipsoidAn ellipsoid object.
ellipsoidDataReceives data describing the ellipsoid object.
Result: Success or failure of the operation.

Q3Ellipsoid_GetMajorRadius

TQ3Status  
Q3Ellipsoid_GetMajorRadius (
    TQ3GeometryObject             ellipsoid,
    TQ3Vector3D                   *majorRadius
);

Get the major radius vector of an Ellipsoid object.

Parameters

NameDescription
ellipsoidThe Ellipsoid object.
majorRadiusReceives the major radius vector.
Result: Success or failure of the operation.

Q3Ellipsoid_GetMinorRadius

TQ3Status  
Q3Ellipsoid_GetMinorRadius (
    TQ3GeometryObject             ellipsoid,
    TQ3Vector3D                   *minorRadius
);

Get the minor radius vector of an Ellipsoid object.

Parameters

NameDescription
ellipsoidThe Ellipsoid object.
minorRadiusReceives the minor radius vector.
Result: Success or failure of the operation.

Q3Ellipsoid_GetOrientation

TQ3Status  
Q3Ellipsoid_GetOrientation (
    TQ3GeometryObject             ellipsoid,
    TQ3Vector3D                   *orientation
);

Get the orientation vector of an Ellipsoid.

Parameters

NameDescription
ellipsoidAn Ellipsoid object.
orientationReceives the orientation vector of the Ellipsoid.
Result: Success or failure of the operation.

Q3Ellipsoid_GetOrigin

TQ3Status  
Q3Ellipsoid_GetOrigin (
    TQ3GeometryObject             ellipsoid,
    TQ3Point3D                    *origin
);

Get the origin of an Ellipsoid object.

Parameters

NameDescription
ellipsoidThe Ellipsoid object.
originReceives the origin.
Result: Success or failure of the operation.

Q3Ellipsoid_New

TQ3GeometryObject  
Q3Ellipsoid_New (
    const TQ3EllipsoidData        *ellipsoidData
);

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.

Parameters

NameDescription
ellipsoidDataData describing an ellipsoid, or NULL.
Result: Reference to a new Ellipsoid geometry object, or NULL on failure.

Q3Ellipsoid_SetData

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

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

Parameters

NameDescription
ellipsoidAn ellipsoid object.
ellipsoidDataData describing an ellipsoid.
Result: Success or failure of the operation.

Q3Ellipsoid_SetMajorRadius

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

Change the major radius vector of an Ellipsoid object.

Parameters

NameDescription
ellipsoidThe Ellipsoid object.
majorRadiusNew major radius vector.
Result: Success or failure of the operation.

Q3Ellipsoid_SetMinorRadius

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

Change the minor radius vector of an Ellipsoid object.

Parameters

NameDescription
ellipsoidThe Ellipsoid object.
minorRadiusNew minor radius vector.
Result: Success or failure of the operation.

Q3Ellipsoid_SetOrientation

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

Change the orientation vector of an Ellipsoid object.

Parameters

NameDescription
ellipsoidAn Ellipsoid object.
orientationNew orientation vector for the Ellipsoid.
Result: Success or failure of the operation.

Q3Ellipsoid_SetOrigin

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

Change the origin of an ellipsoid object.

Parameters

NameDescription
ellipsoidThe ellipsoid object.
originThe new origin.
Result: Success or failure of the operation.

Q3Ellipsoid_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
ellipsoidDataData describing an ellipsoid.
viewA view object.
Result: Success or failure of the operation.

Q3ForEachComponentEdge

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

Parameters

NameDescription
_cThe component.
_eThe edge.
_iAddress of a TQ3MeshIterator.

Q3ForEachComponentVertex

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

Parameters

NameDescription
_cThe component.
_vThe vertex.
_iAddress of a TQ3MeshIterator.

Q3ForEachContourEdge

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

Parameters

NameDescription
_hThe contour.
_eAn edge of the contour.
_iAddress of a TQ3MeshIterator.

Q3ForEachContourFace

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

Parameters

NameDescription
_hThe contour.
_vAn edge of the contour.
_iAddress of a TQ3MeshIterator.

Q3ForEachContourVertex

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

Parameters

NameDescription
_hThe contour.
_vA vertex of the contour.
_iAddress of a TQ3MeshIterator.

Q3ForEachFaceContour

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

Parameters

NameDescription
_fThe face.
_hA contour of the face.
_iAddress of a TQ3MeshIterator.

Q3ForEachFaceEdge

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

Parameters

NameDescription
_fThe face.
_eAn incident edge.
_iAddress of a TQ3MeshIterator.

Q3ForEachFaceFace

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

Parameters

NameDescription
_fThe face.
_nAn incident face.
_iAddress of a TQ3MeshIterator.

Q3ForEachFaceVertex

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

Parameters

NameDescription
_fThe face.
_vAn incident vertex.
_iAddress of a TQ3MeshIterator.

Q3ForEachMeshComponent

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


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

Parameters

NameDescription
_mThe mesh object.
_cThe component.
_iAddress of a TQ3MeshIterator.

Q3ForEachMeshEdge

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

Parameters

NameDescription
_mThe mesh.
_eThe edge.
_iAddress of a TQ3MeshIterator.

Q3ForEachMeshFace

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

Parameters

NameDescription
_mThe mesh.
_fThe face.
_iAddress of a TQ3MeshIterator.

Q3ForEachMeshVertex

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

Parameters

NameDescription
_mThe mesh.
_vThe vertex.
_iAddress of a TQ3MeshIterator.

Q3ForEachVertexEdge

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

Parameters

NameDescription
_vThe vertex.
_eThe edge.
_iAddress of a TQ3MeshIterator.

Q3ForEachVertexFace

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

Parameters

NameDescription
_vThe vertex.
_fAn incident face.
_iAddress of a TQ3MeshIterator.

Q3ForEachVertexVertex

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

Parameters

NameDescription
_vThe vertex.
_nAn adjacent vertex.
_iAddress of a TQ3MeshIterator.

Q3GeneralPolygon_EmptyData

TQ3Status  
Q3GeneralPolygon_EmptyData (
    TQ3GeneralPolygonData         *generalPolygonData
);

Release memory allocated by Q3GeneralPolygon_GetData.

Parameters

NameDescription
generalPolygonDataData describing a General Polygon, previously obtained with Q3GeneralPolygon_GetData.
Result: Success or failure of the operation.

Q3GeneralPolygon_GetData

TQ3Status  
Q3GeneralPolygon_GetData (
    TQ3GeometryObject             polygon,
    TQ3GeneralPolygonData         *generalPolygonData
);

Get the data of a General Polygon object.

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

Parameters

NameDescription
polygonA general polygon object.
generalPolygonDataReceives data describing the general polygon object.
Result: Success or failure of the operation.

Q3GeneralPolygon_GetShapeHint

TQ3Status  
Q3GeneralPolygon_GetShapeHint (
    TQ3GeometryObject             generalPolygon,
    TQ3GeneralPolygonShapeHint    *shapeHint
);

Get the shape hint of a general polygon.

Parameters

NameDescription
generalPolygonA general polygon object.
shapeHintReceives the shape hint.
Result: Success or failure of the operation.

Q3GeneralPolygon_GetVertexAttributeSet

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

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

Parameters

NameDescription
generalPolygonA general polygon object.
contourIndexA 0-based index into the array of contours.
pointIndexA 0-based index into the array of vertices of a contour.
attributeSetReceives a new reference to the vertex attribute set, or NULL.
Result: Success or failure of the operation.

Q3GeneralPolygon_GetVertexPosition

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

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

Parameters

NameDescription
generalPolygonA general polygon object.
contourIndexA 0-based index into the array of contours.
pointIndexA 0-based index into the array of vertices of a contour.
positionReceives the position of the vertex.
Result: Success or failure of the operation.

Q3GeneralPolygon_New

TQ3GeometryObject  
Q3GeneralPolygon_New (
    const TQ3GeneralPolygonData   *generalPolygonData
);

Create a new general polygon geometry object.

Parameters

NameDescription
generalPolygonDataData describing a general polygon.
Result: Reference to a new General Polygon geometry object, or NULL on failure.

Q3GeneralPolygon_SetData

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

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

Parameters

NameDescription
generalPolygonA general polygon object.
generalPolygonDataData describing a general polygon object.
Result: Success or failure of the operation.

Q3GeneralPolygon_SetShapeHint

TQ3Status  
Q3GeneralPolygon_SetShapeHint (
    TQ3GeometryObject             generalPolygon,
    TQ3GeneralPolygonShapeHint    shapeHint
);

Set the shape hint of a general polygon.

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

Parameters

NameDescription
generalPolygonA general polygon object.
shapeHintThe shape hint.
Result: Success or failure of the operation.

Q3GeneralPolygon_SetVertexAttributeSet

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

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

The function increments the reference count of the attribute set.

Parameters

NameDescription
generalPolygonA general polygon object.
contourIndexA 0-based index into the array of contours.
pointIndexA 0-based index into the array of vertices of a contour.
attributeSetAttribute set for the vertex.
Result: Success or failure of the operation.

Q3GeneralPolygon_SetVertexPosition

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

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

Parameters

NameDescription
generalPolygonA general polygon object.
contourIndexA 0-based index into the array of contours.
pointIndexA 0-based index into the array of vertices of a contour.
positionNew position for the vertex.
Result: Success or failure of the operation.

Q3GeneralPolygon_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
generalPolygonDataData describing a general polygon.
viewA view object.
Result: Success or failure of the operation.

Q3Geometry_GetAttributeSet

TQ3Status  
Q3Geometry_GetAttributeSet (
    TQ3GeometryObject             geometry,
    TQ3AttributeSet               *attributeSet
);

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().

Parameters

NameDescription
geometryA reference to a geometry object.
attributeSetReceives a reference to the attribute set of the geometry.
Result: Success or failure of the operation.

Q3Geometry_GetDecomposed

TQ3Object 
Q3Geometry_GetDecomposed (
	TQ3GeometryObject			geometry,
	TQ3ViewObject				view
);

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.

Parameters

NameDescription
geometryA geometry object.
viewA view object
Result: A new reference to a group or geometry object, or NULL.

Q3Geometry_GetType

TQ3ObjectType  
Q3Geometry_GetType (
    TQ3GeometryObject             geometry
);

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.

Parameters

NameDescription
geometryA reference to a geometry object.
Result: A constant enumerating the type of 'geometry'.

Q3Geometry_SetAttributeSet

TQ3Status  
Q3Geometry_SetAttributeSet (
    TQ3GeometryObject             geometry,
    TQ3AttributeSet               attributeSet
);

Sets the attribute set associated with a geometric object.

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

Parameters

NameDescription
geometryA reference to a geometry object.
attributeSetThe attribute set to apply to the object.
Result: Success or failure of the operation.

Q3Geometry_Submit

TQ3Status  
Q3Geometry_Submit (
    TQ3GeometryObject             geometry,
    TQ3ViewObject                 view
);

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.

Parameters

NameDescription
geometryA reference to a (retained) geometry object.
viewThe view to submit the geometric object to.
Result: Success or failure of the operation.

Q3Line_EmptyData

TQ3Status  
Q3Line_EmptyData (
    TQ3LineData                   *lineData
);

Release memory allocated by Q3Line_GetData.

Parameters

NameDescription
lineDataData describing a Line, previously obtained with Q3Line_GetData.
Result: Success or failure of the operation.

Q3Line_GetData

TQ3Status  
Q3Line_GetData (
    TQ3GeometryObject             line,
    TQ3LineData                   *lineData
);

Get the data of a Line object.

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

Parameters

NameDescription
lineA Line object.
lineDataReceives data describing the Line object.
Result: Success or failure of the operation.

Q3Line_GetVertexAttributeSet

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

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

Parameters

NameDescription
lineA line object.
indexAn index, 0 or 1, specifying an end of the line.
attributeSetReceives a new reference to the attribute set, or NULL.
Result: Success or failure of the operation.

Q3Line_GetVertexPosition

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

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

Parameters

NameDescription
lineA line object.
indexAn index, 0 or 1, specifying an end of the line.
positionReceives the position of the vertex.
Result: Success or failure of the operation.

Q3Line_New

TQ3GeometryObject  
Q3Line_New (
    const TQ3LineData             *lineData
);

Create a new line geometry object.

Parameters

NameDescription
lineDataData describing a line.
Result: Reference to a new Line geometry object, or NULL on failure.

Q3Line_SetData

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

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

Parameters

NameDescription
lineA line object.
lineDataData describing a line.
Result: Success or failure of the operation.

Q3Line_SetVertexAttributeSet

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

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.

Parameters

NameDescription
lineA line object.
indexAn index, 0 or 1, specifying an end of the line.
attributeSetThe new attribute set.
Result: Success or failure of the operation.

Q3Line_SetVertexPosition

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

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

Parameters

NameDescription
lineA line object.
indexAn index, 0 or 1, specifying an end of the line.
positionNew position of the vertex.
Result: Success or failure of the operation.

Q3Line_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
lineDataData describing a line.
viewA view object.
Result: Success or failure of the operation.

Q3Marker_EmptyData

TQ3Status  
Q3Marker_EmptyData (
    TQ3MarkerData                 *markerData
);

Release memory allocated by Q3Marker_GetData.

Parameters

NameDescription
markerDataData describing a Marker, previously obtained with Q3Marker_GetData.
Result: Success or failure of the operation.

Q3Marker_GetBitmap

TQ3Status  
Q3Marker_GetBitmap (
    TQ3GeometryObject             marker,
    TQ3Bitmap                     *bitmap
);

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.

Parameters

NameDescription
markerA marker object.
bitmapReceives a copy of the bitmap of the marker.
Result: Success or failure of the operation.

Q3Marker_GetData

TQ3Status  
Q3Marker_GetData (
    TQ3GeometryObject             geometry,
    TQ3MarkerData                 *markerData
);

Get the data of a Marker object.

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

Parameters

NameDescription
geometryA Marker object.
markerDataReceives data describing the Marker object.
Result: Success or failure of the operation.

Q3Marker_GetPosition

TQ3Status  
Q3Marker_GetPosition (
    TQ3GeometryObject             marker,
    TQ3Point3D                    *location
);

Get the position of a Marker object.

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

Parameters

NameDescription
markerA marker object.
locationReceives the location of the marker object.
Result: Success or failure of the operation.

Q3Marker_GetXOffset

TQ3Status  
Q3Marker_GetXOffset (
    TQ3GeometryObject             marker,
    TQ3Int32                      *xOffset
);

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

Parameters

NameDescription
markerA marker object.
xOffsetReceives the horizontal offset in pixels.
Result: Success or failure of the operation.

Q3Marker_GetYOffset

TQ3Status  
Q3Marker_GetYOffset (
    TQ3GeometryObject             marker,
    TQ3Int32                      *yOffset
);

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

Parameters

NameDescription
markerA marker object.
yOffsetReceives the vertical offset in pixels.
Result: Success or failure of the operation.

Q3Marker_New

TQ3GeometryObject  
Q3Marker_New (
    const TQ3MarkerData           *markerData
);

Create a new marker geometry object.

Parameters

NameDescription
markerDataData describing a marker.
Result: Reference to a new Marker geometry object, or NULL on failure.

Q3Marker_SetBitmap

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

Change the bitmap of a Marker object.

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

Parameters

NameDescription
markerA marker object.
bitmapNew bitmap to be used by the marker.
Result: Success or failure of the operation.

Q3Marker_SetData

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

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

Parameters

NameDescription
geometryA marker object.
markerDataData describing a marker.
Result: Success or failure of the operation.

Q3Marker_SetPosition

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

Set the position of a Marker object.

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

Parameters

NameDescription
markerA marker object.
locationNew location of the marker object.
Result: Success or failure of the operation.

Q3Marker_SetXOffset

TQ3Status  
Q3Marker_SetXOffset (
    TQ3GeometryObject             marker,
    TQ3Int32                      xOffset
);

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

Parameters

NameDescription
markerA marker object.
xOffsetNew horizontal offset in pixels.
Result: Success or failure of the operation.

Q3Marker_SetYOffset

TQ3Status  
Q3Marker_SetYOffset (
    TQ3GeometryObject             marker,
    TQ3Int32                      yOffset
);

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

Parameters

NameDescription
markerA marker object.
yOffsetNew vertical offset in pixels.
Result: Success or failure of the operation.

Q3Marker_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
markerDataData describing a marker.
viewA view object.
Result: Success or failure of the operation.

Q3Mesh_ContourToFace

TQ3MeshFace  
Q3Mesh_ContourToFace (
    TQ3GeometryObject             mesh,
    TQ3MeshContour                contour
);

Convert a mesh face to a contour.

Parameters

NameDescription
meshThe mesh to update.
contourThe contour to convert to a face.
Result: The new mesh face.

Q3Mesh_DelayUpdates

TQ3Status  
Q3Mesh_DelayUpdates (
    TQ3GeometryObject             mesh
);

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.

Parameters

NameDescription
meshThe mesh to delay updates on.
Result: Success or failure of the operation.

Q3Mesh_EmptyData

TQ3Status  
Q3Mesh_EmptyData (
    TQ3MeshData                   *meshData
);

Releases the memory allocated by a prior call to Q3Mesh_GetData.

This function is not available in QD3D.

Parameters

NameDescription
meshDataA pointer to the mesh data allocated by Q3Mesh_GetData().
Result: Success or failure of the operation.

Q3Mesh_FaceDelete

TQ3Status  
Q3Mesh_FaceDelete (
    TQ3GeometryObject             mesh,
    TQ3MeshFace                   face
);

Delete a mesh face.

Parameters

NameDescription
meshThe mesh to remove the face from.
faceThe mesh face to delete.
Result: Success or failure of the operation.

Q3Mesh_FaceNew

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

Create a new mesh face.

Parameters

NameDescription
meshThe mesh to create the face within.
numVerticesThe number of vertices in the face.
verticesThe vertices for the face.
attributeSetThe attribute set for the face.
Result: The new mesh face.

Q3Mesh_FaceToContour

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

Convert a mesh face to a contour.

Parameters

NameDescription
meshThe mesh to update.
containerFaceThe face containing the face which will be converted.
faceThe face to convert to a contour.
Result: The new mesh contour.

Q3Mesh_FirstComponentEdge

TQ3MeshEdge  
Q3Mesh_FirstComponentEdge (
    TQ3MeshComponent              component,
    TQ3MeshIterator               *iterator
);

Get the first edge in a mesh component.

Parameters

NameDescription
componentThe component to query.
iteratorReceives the mesh iterator.
Result: The first edge in the component.

Q3Mesh_FirstComponentVertex

TQ3MeshVertex  
Q3Mesh_FirstComponentVertex (
    TQ3MeshComponent              component,
    TQ3MeshIterator               *iterator
);

Get the first vertex in a mesh component.

Parameters

NameDescription
componentThe component to query.
iteratorReceives the mesh iterator.
Result: The first vertex in the component.

Q3Mesh_FirstContourEdge

TQ3MeshEdge  
Q3Mesh_FirstContourEdge (
    TQ3MeshContour                contour,
    TQ3MeshIterator               *iterator
);

Get the first edge in a mesh contour.

Parameters

NameDescription
contourThe contour to query.
iteratorReceives the mesh iterator.
Result: The first edge in the contour.

Q3Mesh_FirstContourFace

TQ3MeshFace  
Q3Mesh_FirstContourFace (
    TQ3MeshContour                contour,
    TQ3MeshIterator               *iterator
);

Get the first face in a mesh contour.

Parameters

NameDescription
contourThe contour to query.
iteratorReceives the mesh iterator.
Result: The first face in the contour.

Q3Mesh_FirstContourVertex

TQ3MeshVertex  
Q3Mesh_FirstContourVertex (
    TQ3MeshContour                contour,
    TQ3MeshIterator               *iterator
);

Get the first vertex in a mesh contour.

Parameters

NameDescription
contourThe contour to query.
iteratorReceives the mesh iterator.
Result: The first vertex in the contour.

Q3Mesh_FirstFaceContour

TQ3MeshContour  
Q3Mesh_FirstFaceContour (
    TQ3MeshFace                   face,
    TQ3MeshIterator               *iterator
);

Get the first contour in a mesh face.

Parameters

NameDescription
faceThe face to query.
iteratorReceives the mesh iterator.
Result: The first contour in the face.

Q3Mesh_FirstFaceEdge

TQ3MeshEdge  
Q3Mesh_FirstFaceEdge (
    TQ3MeshFace                   face,
    TQ3MeshIterator               *iterator
);

Get the first edge in a mesh face.

Parameters

NameDescription
faceThe face to query.
iteratorReceives the mesh iterator.
Result: The first edge in the face.

Q3Mesh_FirstFaceFace

TQ3MeshFace  
Q3Mesh_FirstFaceFace (
    TQ3MeshFace                   face,
    TQ3MeshIterator               *iterator
);

Get the first face in a mesh face.

Parameters

NameDescription
faceThe face to query.
iteratorReceives the mesh iterator.
Result: The first face in the face.

Q3Mesh_FirstFaceVertex

TQ3MeshVertex  
Q3Mesh_FirstFaceVertex (
    TQ3MeshFace                   face,
    TQ3MeshIterator               *iterator
);

Get the first vertex in a mesh face.

Parameters

NameDescription
faceThe face to query.
iteratorReceives the mesh iterator.
Result: The first vertex in the face.

Q3Mesh_FirstMeshComponent

TQ3MeshComponent  
Q3Mesh_FirstMeshComponent (
    TQ3GeometryObject             mesh,
    TQ3MeshIterator               *iterator
);

Get the first component in a mesh.

Parameters

NameDescription
meshThe mesh to query.
iteratorReceives the mesh iterator.
Result: The first component in the mesh.

Q3Mesh_FirstMeshEdge

TQ3MeshEdge  
Q3Mesh_FirstMeshEdge (
    TQ3GeometryObject             mesh,
    TQ3MeshIterator               *iterator
);

Get the first edge in a mesh.

Parameters

NameDescription
meshThe mesh to query.
iteratorReceives the mesh iterator.
Result: The first edge in the mesh.

Q3Mesh_FirstMeshFace

TQ3MeshFace  
Q3Mesh_FirstMeshFace (
    TQ3GeometryObject             mesh,
    TQ3MeshIterator               *iterator
);

Get the first face in a mesh.

Parameters

NameDescription
meshThe mesh to query.
iteratorReceives the mesh iterator.
Result: The first face in the mesh.

Q3Mesh_FirstMeshVertex

TQ3MeshVertex  
Q3Mesh_FirstMeshVertex (
    TQ3GeometryObject             mesh,
    TQ3MeshIterator               *iterator
);

Get the first vertex in a mesh.

Parameters

NameDescription
meshThe mesh to query.
iteratorReceives the mesh iterator.
Result: The first vertex in the mesh.

Q3Mesh_FirstVertexEdge

TQ3MeshEdge  
Q3Mesh_FirstVertexEdge (
    TQ3MeshVertex                 vertex,
    TQ3MeshIterator               *iterator
);

Get the first edge in a mesh vertex.

Parameters

NameDescription
vertexThe vertex to query.
iteratorReceives the mesh iterator.
Result: The first edge in the vertex.

Q3Mesh_FirstVertexFace

TQ3MeshFace  
Q3Mesh_FirstVertexFace (
    TQ3MeshVertex                 vertex,
    TQ3MeshIterator               *iterator
);

Get the first face in a mesh vertex.

Parameters

NameDescription
vertexThe vertex to query.
iteratorReceives the mesh iterator.
Result: The first face in the vertex.

Q3Mesh_FirstVertexVertex

TQ3MeshVertex  
Q3Mesh_FirstVertexVertex (
    TQ3MeshVertex                 vertex,
    TQ3MeshIterator               *iterator
);

Get the first vertex in a mesh vertex.

Parameters

NameDescription
vertexThe vertex to query.
iteratorReceives the mesh iterator.
Result: The first vertex in the vertex.

Q3Mesh_GetComponentBoundingBox

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

Get the bounding box of a mesh component

Parameters

NameDescription
meshThe mesh to query.
componentThe component to query.
boundingBoxReceives the bounding box of the component.
Result: Success or failure of the operation.

Q3Mesh_GetComponentNumEdges

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

Get the number of edges in a mesh component

Parameters

NameDescription
meshThe mesh to query.
componentThe component to query.
numEdgesReceives the number of edges in the component.
Result: Success or failure of the operation.

Q3Mesh_GetComponentNumVertices

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

Get the number of vertices in a mesh component

Parameters

NameDescription
meshThe mesh to query.
componentThe component to query.
numVerticesReceives the number of vertices in the component.
Result: Success or failure of the operation.

Q3Mesh_GetComponentOrientable

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

Get the orientable state of a mesh component

Parameters

NameDescription
meshThe mesh to query.
componentThe component to query.
orientableReceives the orientable state of the component.
Result: Success or failure of the operation.

Q3Mesh_GetContourFace

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

Get the face of a mesh contour.

Parameters

NameDescription
meshThe mesh to query.
contourThe contour to query.
faceReceives the face of the mesh contour.
Result: Success or failure of the operation.

Q3Mesh_GetContourNumVertices

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

Get the number of vertices in a mesh contour.

Parameters

NameDescription
meshThe mesh to query.
contourThe contour to query.
numVerticesReceives the number of vertices in the mesh contour.
Result: Success or failure of the operation.

Q3Mesh_GetCornerAttributeSet

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

Get the attribute set of a mesh corner.

Parameters

NameDescription
meshThe mesh to query.
vertexThe vertex to query.
faceThe face to query.
attributeSetReceives the attribute set of the mesh corner.
Result: Success or failure of the operation.

Q3Mesh_GetData

TQ3Status  
Q3Mesh_GetData (
    TQ3GeometryObject             mesh,
    TQ3MeshData                   *meshData
);

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.

Parameters

NameDescription
meshA reference to a mesh geometry object.
meshDataReceives the mesh object's description.
Result: Success or failure of the operation.

Q3Mesh_GetEdgeAttributeSet

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

Get the attribute set of a mesh edge.

Parameters

NameDescription
meshThe mesh to query.
edgeThe edge to query.
attributeSetReceives the attribute set of the mesh edge.
Result: Success or failure of the operation.

Q3Mesh_GetEdgeComponent

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

Get the component of a mesh edge.

Parameters

NameDescription
meshThe mesh to query.
edgeThe edge to query.
componentReceives the component of the mesh edge.
Result: Success or failure of the operation.

Q3Mesh_GetEdgeFaces

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

Get the faces of a mesh edge.

Parameters

NameDescription
meshThe mesh to query.
edgeThe edge to query.
face1Receives the first face of the mesh edge.
face2Receives the second face of the mesh edge.
Result: Success or failure of the operation.

Q3Mesh_GetEdgeOnBoundary

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

Get the boundary state of a mesh edge.

Parameters

NameDescription
meshThe mesh to query.
edgeThe edge to query.
onBoundaryReceives the boundary state of the mesh edge.
Result: Success or failure of the operation.

Q3Mesh_GetEdgeVertices

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

Get the vertices of a mesh edge.

Parameters

NameDescription
meshThe mesh to query.
edgeThe edge to query.
vertex1Receives the first vertex of the mesh edge.
vertex2Receives the second vertex of the mesh edge.
Result: Success or failure of the operation.

Q3Mesh_GetFaceAttributeSet

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

Get the attribute set of a mesh face.

Parameters

NameDescription
meshThe mesh to query.
faceThe face to query.
attributeSetReceives the attribute set of the mesh face.
Result: Success or failure of the operation.

Q3Mesh_GetFaceComponent

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

Get the component of a mesh face.

Parameters

NameDescription
meshThe mesh to query.
faceThe face to query.
componentReceives the component of the mesh face.
Result: Success or failure of the operation.

Q3Mesh_GetFaceIndex

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

Get the index of a mesh face.

Parameters

NameDescription
meshThe mesh to query.
faceThe face to query.
indexReceives the index of the mesh face.
Result: Success or failure of the operation.

Q3Mesh_GetFaceNumContours

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

Get the number of contours of a mesh face.

Parameters

NameDescription
meshThe mesh to query.
faceThe face to query.
numContoursReceives the number of contours of the mesh face.
Result: Success or failure of the operation.

Q3Mesh_GetFaceNumVertices

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

Get the number of vertices in a mesh face.

Parameters

NameDescription
meshThe mesh to query.
faceThe face to query.
numVerticesReceives the number of vertices in the mesh face.
Result: Success or failure of the operation.

Q3Mesh_GetFacePlaneEquation

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

Get the plane equation of a mesh face.

Parameters

NameDescription
meshThe mesh to query.
faceThe face to query.
planeEquationReceives the plane equation of the mesh face.
Result: Success or failure of the operation.

Q3Mesh_GetNumComponents

TQ3Status  
Q3Mesh_GetNumComponents (
    TQ3GeometryObject             mesh,
    TQ3Uns32                      *numComponents
);

Get the number of components of a mesh.

Parameters

NameDescription
meshThe mesh to query.
numComponentsReceives the number of components of the mesh.
Result: Success or failure of the operation.

Q3Mesh_GetNumCorners

TQ3Status  
Q3Mesh_GetNumCorners (
    TQ3GeometryObject             mesh,
    TQ3Uns32                      *numCorners
);

Get the number of corners in a mesh

Parameters

NameDescription
meshThe mesh to query.
numCornersReceives the number of corners in the mesh.
Result: Success or failure of the operation.

Q3Mesh_GetNumEdges

TQ3Status  
Q3Mesh_GetNumEdges (
    TQ3GeometryObject             mesh,
    TQ3Uns32                      *numEdges
);

Get the number of edges in a mesh

Parameters

NameDescription
meshThe mesh to query.
numEdgesReceives the number of edges in the mesh.
Result: Success or failure of the operation.

Q3Mesh_GetNumFaces

TQ3Status  
Q3Mesh_GetNumFaces (
    TQ3GeometryObject             mesh,
    TQ3Uns32                      *numFaces
);

Get the number of faces in a mesh

Parameters

NameDescription
meshThe mesh to query.
numFacesReceives the number of faces in the mesh.
Result: Success or failure of the operation.

Q3Mesh_GetNumVertices

TQ3Status  
Q3Mesh_GetNumVertices (
    TQ3GeometryObject             mesh,
    TQ3Uns32                      *numVertices
);

Get the number of vertices in a mesh

Parameters

NameDescription
meshThe mesh to query.
numVerticesReceives the number of vertices in the mesh.
Result: Success or failure of the operation.

Q3Mesh_GetOrientable

TQ3Status  
Q3Mesh_GetOrientable (
    TQ3GeometryObject             mesh,
    TQ3Boolean                    *orientable
);

Get the mesh orientable state

Parameters

NameDescription
meshThe mesh to query.
orientableReceives the mesh orientable state.
Result: Success or failure of the operation.

Q3Mesh_GetVertexAttributeSet

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

Get the attribute set of a mesh vertex.

Parameters

NameDescription
meshThe mesh to query.
vertexThe vertex to query.
attributeSetReceives the attribute set of the mesh vertex.
Result: Success or failure of the operation.

Q3Mesh_GetVertexComponent

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

Get the component of a mesh vertex.

Parameters

NameDescription
meshThe mesh to query.
vertexThe vertex to query.
componentReceives the component of the mesh vertex.
Result: Success or failure of the operation.

Q3Mesh_GetVertexCoordinates

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

Get the coordinates of a mesh vertex.

Parameters

NameDescription
meshThe mesh to query.
vertexThe vertex to query.
coordinatesReceives the coordinates of the vertex.
Result: Success or failure of the operation.

Q3Mesh_GetVertexIndex

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

Get the index of a mesh vertex.

Parameters

NameDescription
meshThe mesh to query.
vertexThe vertex to query.
indexReceives the index of the vertex.
Result: Success or failure of the operation.

Q3Mesh_GetVertexOnBoundary

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

Get the boundary state for a mesh vertex

Parameters

NameDescription
meshThe mesh to query.
vertexThe vertex to query.
onBoundaryReceives the vertex boundary state.
Result: Success or failure of the operation.

Q3Mesh_New

TQ3GeometryObject  
Q3Mesh_New (
    void
);

Create a new empty Mesh geometry object.

Result: Reference to a new Mesh geometry object, or NULL on failure.

Q3Mesh_NextComponentEdge

TQ3MeshEdge  
Q3Mesh_NextComponentEdge (
    TQ3MeshIterator               *iterator
);

Get the next edge in a mesh component.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next edge in the component.

Q3Mesh_NextComponentVertex

TQ3MeshVertex  
Q3Mesh_NextComponentVertex (
    TQ3MeshIterator               *iterator
);

Get the next vertex in a mesh component.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next vertex in the component.

Q3Mesh_NextContourEdge

TQ3MeshEdge  
Q3Mesh_NextContourEdge (
    TQ3MeshIterator               *iterator
);

Get the next edge in a mesh contour.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next edge in the contour.

Q3Mesh_NextContourFace

TQ3MeshFace  
Q3Mesh_NextContourFace (
    TQ3MeshIterator               *iterator
);

Get the next face in a mesh contour.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next face in the contour.

Q3Mesh_NextContourVertex

TQ3MeshVertex  
Q3Mesh_NextContourVertex (
    TQ3MeshIterator               *iterator
);

Get the next vertex in a mesh contour.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next vertex in the contour.

Q3Mesh_NextFaceContour

TQ3MeshContour  
Q3Mesh_NextFaceContour (
    TQ3MeshIterator               *iterator
);

Get the next contour in a mesh face.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next contour in the face.

Q3Mesh_NextFaceEdge

TQ3MeshEdge  
Q3Mesh_NextFaceEdge (
    TQ3MeshIterator               *iterator
);

Get the next edge in a mesh face.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next edge in the face.

Q3Mesh_NextFaceFace

TQ3MeshFace  
Q3Mesh_NextFaceFace (
    TQ3MeshIterator               *iterator
);

Get the next face in a mesh face.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next face in the face.

Q3Mesh_NextFaceVertex

TQ3MeshVertex  
Q3Mesh_NextFaceVertex (
    TQ3MeshIterator               *iterator
);

Get the next vertex in a mesh face.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next vertex in the face.

Q3Mesh_NextMeshComponent

TQ3MeshComponent  
Q3Mesh_NextMeshComponent (
    TQ3MeshIterator               *iterator
);

Get the next component in a mesh.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next component in the mesh.

Q3Mesh_NextMeshEdge

TQ3MeshEdge  
Q3Mesh_NextMeshEdge (
    TQ3MeshIterator               *iterator
);

Get the next edge in a mesh.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next edge in the mesh.

Q3Mesh_NextMeshFace

TQ3MeshFace  
Q3Mesh_NextMeshFace (
    TQ3MeshIterator               *iterator
);

Get the next face in a mesh.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next face in the mesh.

Q3Mesh_NextMeshVertex

TQ3MeshVertex  
Q3Mesh_NextMeshVertex (
    TQ3MeshIterator               *iterator
);

Get the next vertex in a mesh.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next vertex in the mesh.

Q3Mesh_NextVertexEdge

TQ3MeshEdge  
Q3Mesh_NextVertexEdge (
    TQ3MeshIterator               *iterator
);

Get the next edge in a mesh vertex.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next edge in the vertex.

Q3Mesh_NextVertexFace

TQ3MeshFace  
Q3Mesh_NextVertexFace (
    TQ3MeshIterator               *iterator
);

Get the next face in a mesh vertex.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next face in the vertex.

Q3Mesh_NextVertexVertex

TQ3MeshVertex  
Q3Mesh_NextVertexVertex (
    TQ3MeshIterator               *iterator
);

Get the next vertex in a mesh vertex.

Parameters

NameDescription
iteratorThe mesh iterator.
Result: The next vertex in the vertex.

Q3Mesh_ResumeUpdates

TQ3Status  
Q3Mesh_ResumeUpdates (
    TQ3GeometryObject             mesh
);

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.

Parameters

NameDescription
meshThe mesh to resume updatse for.
Result: Success or failure of the operation.

Q3Mesh_SetCornerAttributeSet

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

Set the attribute set for a mesh corner.

Parameters

NameDescription
meshThe mesh to update.
vertexThe vertex to update.
faceThe face to update.
attributeSetThe new attribute set for the mesh corner.
Result: Success or failure of the operation.

Q3Mesh_SetData

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

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.

Parameters

NameDescription
meshA reference to a mesh geometry object.
meshDataA pointer to the mesh data to apply to the mesh object.
Result: Success or failure of the operation.

Q3Mesh_SetEdgeAttributeSet

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

Set the attribute set for a mesh edge.

Parameters

NameDescription
meshThe mesh to update.
edgeThe edge to update.
attributeSetThe new attribute set for the mesh edge.
Result: Success or failure of the operation.

Q3Mesh_SetFaceAttributeSet

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

Set the attribute set of a mesh face.

Parameters

NameDescription
meshThe mesh to update.
faceThe face to update.
attributeSetThe new attribute set for the mesh face.
Result: Success or failure of the operation.

Q3Mesh_SetVertexAttributeSet

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

Set the attribute set of a mesh vertex

Parameters

NameDescription
meshThe mesh to udate.
vertexThe vertex to update.
attributeSetThe new attribute set for the mesh vertex.
Result: Success or failure of the operation.

Q3Mesh_SetVertexCoordinates

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

Set the coordinates of a mesh vertex.

Parameters

NameDescription
meshThe mesh to update.
vertexThe vertex to update.
coordinatesThe new coordinates for the mesh vertex.
Result: Success or failure of the operation.

Q3Mesh_VertexDelete

TQ3Status  
Q3Mesh_VertexDelete (
    TQ3GeometryObject             mesh,
    TQ3MeshVertex                 vertex
);

Delete a mesh vertex.

Parameters

NameDescription
meshThe mesh to remove the vertex from.
vertexThe mesh vertex to delete.
Result: Success or failure of the operation.

Q3Mesh_VertexNew

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

Create a new mesh vertex.

Parameters

NameDescription
meshThe mesh to create the vertex within.
vertexThe data for the vertex.
Result: The new mesh vertex.

Q3NURBCurve_EmptyData

TQ3Status  
Q3NURBCurve_EmptyData (
    TQ3NURBCurveData              *nurbCurveData
);

Release memory allocated by Q3NURBCurve_GetData.

Parameters

NameDescription
nurbCurveDataData describing a NURB Curve, previously obtained with Q3NURBCurve_GetData.
Result: Success or failure of the operation.

Q3NURBCurve_GetControlPoint

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

Get a control point from a NURB curve.

Parameters

NameDescription
curveThe NURB curve to query.
pointIndexThe index of the point to query.
point4DReceives the control point value.
Result: Success or failure of the operation.

Q3NURBCurve_GetData

TQ3Status  
Q3NURBCurve_GetData (
    TQ3GeometryObject             curve,
    TQ3NURBCurveData              *nurbCurveData
);

Get the data of a NURB Curve object.

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

Parameters

NameDescription
curveA NURB Curve object.
nurbCurveDataReceives data describing the NURB Curve object.
Result: Success or failure of the operation.

Q3NURBCurve_GetKnot

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

Get a knot from a NURB curve.

Parameters

NameDescription
curveThe NURB curve to query.
knotIndexThe index of the knot to query.
knotValueReceives the knot value.
Result: Success or failure of the operation.

Q3NURBCurve_New

TQ3GeometryObject  
Q3NURBCurve_New (
    const TQ3NURBCurveData        *curveData
);

Create a new NURB curve geometry object.

Parameters

NameDescription
curveDataData describing a NURB curve.
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
);

Set a control point for a NURB curve.

Parameters

NameDescription
curveThe NURB curve to update.
pointIndexThe index of the point to update.
point4DThe new control point value.
Result: Success or failure of the operation.

Q3NURBCurve_SetData

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

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

Parameters

NameDescription
curveA NURB curve object.
nurbCurveDataData describing a NURB curve object.
Result: Success or failure of the operation.

Q3NURBCurve_SetKnot

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

Set a knot for a NURB curve.

Parameters

NameDescription
curveThe NURB curve to update.
knotIndexThe index of the knot to update.
knotValueThe new knot value.
Result: Success or failure of the operation.

Q3NURBCurve_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
curveDataData describing a NURB curve.
viewA view object.
Result: Success or failure of the operation.

Q3NURBPatch_EmptyData

TQ3Status  
Q3NURBPatch_EmptyData (
    TQ3NURBPatchData              *nurbPatchData
);

Release memory allocated by Q3NURBPatch_GetData.

Parameters

NameDescription
nurbPatchDataData describing a NURB Patch, previously obtained with Q3NURBPatch_GetData.
Result: Success or failure of the operation.

Q3NURBPatch_GetControlPoint

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

Get a control point for a NURB patch.

Parameters

NameDescription
nurbPatchThe NURB patch to query.
rowIndexThe row index of the control point.
columnIndexThe column index of the control point.
point4DReceives the control point value.
Result: Success or failure of the operation.

Q3NURBPatch_GetData

TQ3Status  
Q3NURBPatch_GetData (
    TQ3GeometryObject             nurbPatch,
    TQ3NURBPatchData              *nurbPatchData
);

Get the data of a NURB Patch object.

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

Parameters

NameDescription
nurbPatchA NURB Patch object.
nurbPatchDataReceives data describing the NURB Patch object.
Result: Success or failure of the operation.

Q3NURBPatch_GetUKnot

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

Get a U knot from a NURB patch.

Parameters

NameDescription
nurbPatchThe NURB patch to query.
knotIndexThe index of the knot to query.
knotValueRceives the knot value.
Result: Success or failure of the operation.

Q3NURBPatch_GetVKnot

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

Get a V knot from a NURB patch.

Parameters

NameDescription
nurbPatchThe NURB patch to query.
knotIndexThe index of the knot to query.
knotValueRceives the knot value.
Result: Success or failure of the operation.

Q3NURBPatch_New

TQ3GeometryObject  
Q3NURBPatch_New (
    const TQ3NURBPatchData        *nurbPatchData
);

Create a new NURB patch geometry object.

Parameters

NameDescription
nurbPatchDataData describing a NURB patch.
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
);

Set a control point for a NURB patch.

Parameters

NameDescription
nurbPatchThe NURB patch to update.
rowIndexThe row index of the control point.
columnIndexThe column index of the control point.
point4DThe new control point value.
Result: Success or failure of the operation.

Q3NURBPatch_SetData

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

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

Parameters

NameDescription
nurbPatchA NURB patch object.
nurbPatchDataData describing a NURB patch object.
Result: Success or failure of the operation.

Q3NURBPatch_SetUKnot

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

Set a U knot for a NURB patch.

Parameters

NameDescription
nurbPatchThe NURB patch to update.
knotIndexThe index of the knot to update.
knotValueThe new value for the knot.
Result: Success or failure of the operation.

Q3NURBPatch_SetVKnot

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

Set a K knot for a NURB patch.

Parameters

NameDescription
nurbPatchThe NURB patch to update.
knotIndexThe index of the knot to update.
knotValueThe new value for the knot.
Result: Success or failure of the operation.

Q3NURBPatch_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
nurbPatchDataData describing a NURB patch.
viewA view object.
Result: Success or failure of the operation.

Q3PixmapMarker_EmptyData

TQ3Status  
Q3PixmapMarker_EmptyData (
    TQ3PixmapMarkerData           *pixmapMarkerData
);

Release memory allocated by Q3PixmapMarker_GetData.

Parameters

NameDescription
pixmapMarkerDataData describing a Pixmap Marker, previously obtained with Q3PixmapMarker_GetData.
Result: Success or failure of the operation.

Q3PixmapMarker_GetData

TQ3Status  
Q3PixmapMarker_GetData (
    TQ3GeometryObject             geometry,
    TQ3PixmapMarkerData           *pixmapMarkerData
);

Get the data of a Pixmap Marker object.

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

Parameters

NameDescription
geometryA Pixmap Marker object.
pixmapMarkerDataReceives data describing the Pixmap Marker object.
Result: Success or failure of the operation.

Q3PixmapMarker_GetPixmap

TQ3Status  
Q3PixmapMarker_GetPixmap (
    TQ3GeometryObject             pixmapMarker,
    TQ3StoragePixmap              *pixmap
);

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

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
pixmapReceives the pixmap structure of the marker.
Result: Success or failure of the operation.

Q3PixmapMarker_GetPosition

TQ3Status  
Q3PixmapMarker_GetPosition (
    TQ3GeometryObject             pixmapMarker,
    TQ3Point3D                    *position
);

Get the position of the pixmap marker in world coordinates.

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
positionReceives the position of the pixmap marker.
Result: Success or failure of the operation.

Q3PixmapMarker_GetXOffset

TQ3Status  
Q3PixmapMarker_GetXOffset (
    TQ3GeometryObject             pixmapMarker,
    TQ3Int32                      *xOffset
);

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

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
xOffsetReceives the horizontal offset of the marker in pixels.
Result: Success or failure of the operation.

Q3PixmapMarker_GetYOffset

TQ3Status  
Q3PixmapMarker_GetYOffset (
    TQ3GeometryObject             pixmapMarker,
    TQ3Int32                      *yOffset
);

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

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
yOffsetReceives the vertical offset of the marker in pixels.
Result: Success or failure of the operation.

Q3PixmapMarker_New

TQ3GeometryObject  
Q3PixmapMarker_New (
    const TQ3PixmapMarkerData     *pixmapMarkerData
);

Create a new pixmap marker geometry object.

Parameters

NameDescription
pixmapMarkerDataData describing a pixmap marker.
Result: Reference to a new pixmap marker geometry object, or NULL on failure.

Q3PixmapMarker_SetData

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

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

Parameters

NameDescription
geometryA pixmap marker object.
pixmapMarkerDataData describing a pixmap marker object.
Result: Success or failure of the operation.

Q3PixmapMarker_SetPixmap

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

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.

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
pixmapNew pixmap to be used by the marker.
Result: Success or failure of the operation.

Q3PixmapMarker_SetPosition

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

Change the position of a pixmap marker object.

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
positionNew position of the pixmap marker in world coordinates.
Result: Success or failure of the operation.

Q3PixmapMarker_SetXOffset

TQ3Status  
Q3PixmapMarker_SetXOffset (
    TQ3GeometryObject             pixmapMarker,
    TQ3Int32                      xOffset
);

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

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
xOffsetThe horizontal offset of the marker in pixels.
Result: Success or failure of the operation.

Q3PixmapMarker_SetYOffset

TQ3Status  
Q3PixmapMarker_SetYOffset (
    TQ3GeometryObject             pixmapMarker,
    TQ3Int32                      yOffset
);

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

Parameters

NameDescription
pixmapMarkerA pixmap marker object.
yOffsetThe vertical offset of the marker in pixels.
Result: Success or failure of the operation.

Q3PixmapMarker_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
pixmapMarkerDataData describing a pixmap marker.
viewA view object.
Result: Success or failure of the operation.

Q3Point_EmptyData

TQ3Status  
Q3Point_EmptyData (
    TQ3PointData                  *pointData
);

Release memory allocated by Q3Point_GetData.

Parameters

NameDescription
pointDataData describing a Point, previously obtained with Q3Point_GetData.
Result: Success or failure of the operation.

Q3Point_GetData

TQ3Status  
Q3Point_GetData (
    TQ3GeometryObject             point,
    TQ3PointData                  *pointData
);

Get the data of a Point object.

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

Parameters

NameDescription
pointA Point object.
pointDataReceives data describing the Point object.
Result: Success or failure of the operation.

Q3Point_GetPosition

TQ3Status  
Q3Point_GetPosition (
    TQ3GeometryObject             point,
    TQ3Point3D                    *position
);

Get the position of a point object.

Parameters

NameDescription
pointA point object.
positionReceives the position of the point.
Result: Success or failure of the operation.

Q3Point_New

TQ3GeometryObject  
Q3Point_New (
    const TQ3PointData            *pointData
);

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.

Parameters

NameDescription
pointDataData describing a point, or NULL.
Result: Reference to a new Point geometry object, or NULL on failure.

Q3Point_SetData

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

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

Parameters

NameDescription
pointA point object
pointDataData describing a point object.
Result: Success or failure of the operation.

Q3Point_SetPosition

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

Change the position of a point object.

Parameters

NameDescription
pointA point object.
positionNew position for the point.
Result: Success or failure of the operation.

Q3Point_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
pointDataData describing a point.
viewA view object.
Result: Success or failure of the operation.

Q3PolyLine_EmptyData

TQ3Status  
Q3PolyLine_EmptyData (
    TQ3PolyLineData               *polyLineData
);

Release memory allocated by Q3PolyLine_GetData.

Parameters

NameDescription
polyLineDataData describing a PolyLine, previously obtained with Q3PolyLine_GetData.
Result: Success or failure of the operation.

Q3PolyLine_GetData

TQ3Status  
Q3PolyLine_GetData (
    TQ3GeometryObject             polyLine,
    TQ3PolyLineData               *polyLineData
);

Get the data of a PolyLine object.

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

Parameters

NameDescription
polyLineA PolyLine object.
polyLineDataReceives data describing the PolyLine object.
Result: Success or failure of the operation.

Q3PolyLine_GetSegmentAttributeSet

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

Get the attribute set of a polyline segment.

Parameters

NameDescription
polyLineThe polyline to query.
indexThe index of the segment to query.
attributeSetReceives the attribute set of the polyline segment.
Result: Success or failure of the operation.

Q3PolyLine_GetVertexAttributeSet

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

Get the attribute set of a polyline vertex.

Parameters

NameDescription
polyLineThe polyline to query.
indexThe index of the vertex to query.
attributeSetReceives the attribute set of the polyline vertex.
Result: Success or failure of the operation.

Q3PolyLine_GetVertexPosition

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

Get the position of a polyline vertex.

Parameters

NameDescription
polyLineThe polyline to query.
indexThe index of the vertex to query.
positionReceives the position of the polyline vertex.
Result: Success or failure of the operation.

Q3PolyLine_New

TQ3GeometryObject  
Q3PolyLine_New (
    const TQ3PolyLineData         *polylineData
);

Create a new polyline geometry object.

Parameters

NameDescription
polylineDataData describing a polyline.
Result: Reference to a new Polyline geometry object, or NULL on failure.

Q3PolyLine_SetData

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

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

Parameters

NameDescription
polyLineA PolyLine object.
polyLineDataData describing a PolyLine.
Result: Success or failure of the operation.

Q3PolyLine_SetSegmentAttributeSet

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

Set the attribute set of a polyline segment.

Parameters

NameDescription
polyLineThe polyline to update.
indexThe index of the segment to update.
attributeSetThe new attribute set for the polyline segment.
Result: Success or failure of the operation.

Q3PolyLine_SetVertexAttributeSet

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

Set the attribute set of a polyline vertex.

Parameters

NameDescription
polyLineThe polyline to update.
indexThe index of the vertex to update.
attributeSetThe new attribute set for the polyline vertex.
Result: Success or failure of the operation.

Q3PolyLine_SetVertexPosition

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

Set the position of a polyline vertex.

Parameters

NameDescription
polyLineThe polyline to update.
indexThe index of the vertex to update.
positionThe new position for the polyline vertex.
Result: Success or failure of the operation.

Q3PolyLine_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
polyLineDataData describing a PolyLine.
viewA view object.
Result: Success or failure of the operation.

Q3Polygon_EmptyData

TQ3Status  
Q3Polygon_EmptyData (
    TQ3PolygonData                *polygonData
);

Release memory allocated by Q3Polygon_GetData.

Parameters

NameDescription
polygonDataData describing a Polygon, previously obtained with Q3Polygon_GetData.
Result: Success or failure of the operation.

Q3Polygon_GetData

TQ3Status  
Q3Polygon_GetData (
    TQ3GeometryObject             polygon,
    TQ3PolygonData                *polygonData
);

Get the data of a Polygon object.

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

Parameters

NameDescription
polygonA Polygon object.
polygonDataReceives data describing the Polygon object.
Result: Success or failure of the operation.

Q3Polygon_GetVertexAttributeSet

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

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

Parameters

NameDescription
polygonA polygon object.
indexA 0-based index into the array of vertices of the polygon.
attributeSetReceives a new reference to the attribute set, or NULL.
Result: Success or failure of the operation.

Q3Polygon_GetVertexPosition

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

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

Parameters

NameDescription
polygonA polygon object.
indexA 0-based index into the array of vertices of the polygon.
pointReceives the position of the vertex.
Result: Success or failure of the operation.

Q3Polygon_New

TQ3GeometryObject  
Q3Polygon_New (
    const TQ3PolygonData          *polygonData
);

Create a new polygon geometry object.

Parameters

NameDescription
polygonDataData describing a polygon.
Result: Reference to a new Polygon geometry object, or NULL on failure.

Q3Polygon_SetData

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

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

Parameters

NameDescription
polygonA polygon object.
polygonDataData describing a polygon.
Result: Success or failure of the operation.

Q3Polygon_SetVertexAttributeSet

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

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

Parameters

NameDescription
polygonA polygon object.
indexA 0-based index into the array of vertices of the polygon.
attributeSetNew attribute set for the vertex.
Result: Success or failure of the operation.

Q3Polygon_SetVertexPosition

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

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

Parameters

NameDescription
polygonA polygon object.
indexA 0-based index into the array of vertices of the polygon.
pointNew position of the vertex.
Result: Success or failure of the operation.

Q3Polygon_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
polygonDataData describing a polygon.
viewA view object.
Result: Success or failure of the operation.

Q3Polyhedron_EmptyData

TQ3Status  
Q3Polyhedron_EmptyData (
    TQ3PolyhedronData             *polyhedronData
);

Release memory allocated by Q3Polyhedron_GetData.

Parameters

NameDescription
polyhedronDataData describing a Polyhedron, previously obtained with Q3Polyhedron_GetData.
Result: Success or failure of the operation.

Q3Polyhedron_GetData

TQ3Status  
Q3Polyhedron_GetData (
    TQ3GeometryObject             polyhedron,
    TQ3PolyhedronData             *polyhedronData
);

Get the data of a Polyhedron object.

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

Parameters

NameDescription
polyhedronA Polyhedron object.
polyhedronDataReceives data describing the Polyhedron object.
Result: Success or failure of the operation.

Q3Polyhedron_GetEdgeData

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

Get the data of a polyhedron edge.

Parameters

NameDescription
polyhedronThe polyhedron to query.
edgeIndexThe index of the edge to query.
edgeDataReceives the data of the edge.
Result: Success or failure of the operation.

Q3Polyhedron_GetTriangleData

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

Get the data of a polyhedron triangle.

Parameters

NameDescription
polyhedronThe polyhedron to query.
triangleIndexThe index of the triangle to query.
triangleDataReceives the data of the triangle.
Result: Success or failure of the operation.

Q3Polyhedron_GetVertexAttributeSet

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

Get the position of a polyhedron vertex.

Parameters

NameDescription
polyhedronThe polyhedron to query.
indexThe index of the vertex to query.
attributeSetReceives the attribute set of the vertex.
Result: Success or failure of the operation.

Q3Polyhedron_GetVertexPosition

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

Get the position of a polyhedron vertex.

Parameters

NameDescription
polyhedronThe polyhedron to query.
indexThe index of the vertex to query.
pointReceives the position of the vertex.
Result: Success or failure of the operation.

Q3Polyhedron_New

TQ3GeometryObject  
Q3Polyhedron_New (
    const TQ3PolyhedronData       *polyhedronData
);

Create a new polyhedron geometry object.

Parameters

NameDescription
polyhedronDataData describing a polyhedron.
Result: Reference to a new Polyhedron geometry object, or NULL on failure.

Q3Polyhedron_SetData

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

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

Parameters

NameDescription
polyhedronA polyhedron object.
polyhedronDataData describing a polyhedron.
Result: Success or failure of the operation.

Q3Polyhedron_SetEdgeData

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

Set the data of a polyhedron edge.

Parameters

NameDescription
polyhedronThe polyhedron to update.
edgeIndexThe index of the edge to update.
edgeDataThe new data for the edge.
Result: Success or failure of the operation.

Q3Polyhedron_SetTriangleData

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

Set the data of a polyhedron triangle.

Parameters

NameDescription
polyhedronThe polyhedron to update.
triangleIndexThe index of the triangle to update.
triangleDataThe new data for the triangle.
Result: Success or failure of the operation.

Q3Polyhedron_SetVertexAttributeSet

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

Set the attribute set of a polyhedron vertex.

Parameters

NameDescription
polyhedronThe polyhedron to update.
indexThe index of the vertex to update.
attributeSetThe new attribute set for the vertex.
Result: Success or failure of the operation.

Q3Polyhedron_SetVertexPosition

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

Set the position of a polyhedron vertex.

Parameters

NameDescription
polyhedronThe polyhedron to update.
indexThe index of the vertex to update.
pointThe new position for the vertex.
Result: Success or failure of the operation.

Q3Polyhedron_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
polyhedronDataData describing a polyhedron.
viewA view object.
Result: Success or failure of the operation.

Q3Torus_EmptyData

TQ3Status  
Q3Torus_EmptyData (
    TQ3TorusData                  *torusData
);

Release memory allocated by Q3Torus_GetData.

Parameters

NameDescription
torusDataData describing a Torus, previously obtained with Q3Torus_GetData.
Result: Success or failure of the operation.

Q3Torus_GetData

TQ3Status  
Q3Torus_GetData (
    TQ3GeometryObject             torus,
    TQ3TorusData                  *torusData
);

Get the data of a Torus object.

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

Parameters

NameDescription
torusA Torus object.
torusDataReceives data describing the Torus object.
Result: Success or failure of the operation.

Q3Torus_GetMajorRadius

TQ3Status  
Q3Torus_GetMajorRadius (
    TQ3GeometryObject             torus,
    TQ3Vector3D                   *majorRadius
);

Get the major radius vector of a Torus object.

Parameters

NameDescription
torusThe Torus object.
majorRadiusReceives the major radius vector.
Result: Success or failure of the operation.

Q3Torus_GetMinorRadius

TQ3Status  
Q3Torus_GetMinorRadius (
    TQ3GeometryObject             torus,
    TQ3Vector3D                   *minorRadius
);

Get the minor radius vector of a Torus object.

Parameters

NameDescription
torusThe Torus object.
minorRadiusReceives the minor radius vector.
Result: Success or failure of the operation.

Q3Torus_GetOrientation

TQ3Status  
Q3Torus_GetOrientation (
    TQ3GeometryObject             torus,
    TQ3Vector3D                   *orientation
);

Get the orientation vector of a torus.

Parameters

NameDescription
torusA torus object.
orientationReceives the orientation vector of the torus.
Result: Success or failure of the operation.

Q3Torus_GetOrigin

TQ3Status  
Q3Torus_GetOrigin (
    TQ3GeometryObject             torus,
    TQ3Point3D                    *origin
);

Get the origin of a Torus object.

Parameters

NameDescription
torusThe Torus object.
originReceives the origin.
Result: Success or failure of the operation.

Q3Torus_GetRatio

TQ3Status  
Q3Torus_GetRatio (
    TQ3GeometryObject             torus,
    float                         *ratio
);

Get the ratio of a torus.

Parameters

NameDescription
torusThe torus to query.
ratioReceives the ratio of the torus.
Result: Success or failure of the operation.

Q3Torus_New

TQ3GeometryObject  
Q3Torus_New (
    const TQ3TorusData            *torusData
);

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.

Parameters

NameDescription
torusDataData describing a torus, or NULL.
Result: Reference to a new Torus geometry object, or NULL on failure.

Q3Torus_SetData

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

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

Parameters

NameDescription
torusA torus object.
torusDataData describing a torus.
Result: Success or failure of the operation.

Q3Torus_SetMajorRadius

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

Change the major radius vector of a Torus object.

Parameters

NameDescription
torusThe Torus object.
majorRadiusNew major radius vector.
Result: Success or failure of the operation.

Q3Torus_SetMinorRadius

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

Change the minor radius vector of a Torus object.

Parameters

NameDescription
torusThe Torus object.
minorRadiusNew minor radius vector.
Result: Success or failure of the operation.

Q3Torus_SetOrientation

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

Change the orientation vector of a torus object.

Parameters

NameDescription
torusA torus object.
orientationNew orientation vector for the torus.
Result: Success or failure of the operation.

Q3Torus_SetOrigin

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

Change the origin of a torus object.

Parameters

NameDescription
torusThe torus object.
originThe new origin.
Result: Success or failure of the operation.

Q3Torus_SetRatio

TQ3Status  
Q3Torus_SetRatio (
    TQ3GeometryObject             torus,
    float                         ratio
);

Set the ratio of a torus.

Parameters

NameDescription
torusThe torus to update.
ratioThe new ratio for the torus.
Result: Success or failure of the operation.

Q3Torus_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
torusDataData describing a torus.
viewA view object.
Result: Success or failure of the operation.

Q3TriGrid_EmptyData

TQ3Status  
Q3TriGrid_EmptyData (
    TQ3TriGridData                *triGridData
);

Release memory allocated by Q3TriGrid_GetData.

Parameters

NameDescription
triGridDataData describing a TriGrid, previously obtained with Q3TriGrid_GetData.
Result: Success or failure of the operation.

Q3TriGrid_GetData

TQ3Status  
Q3TriGrid_GetData (
    TQ3GeometryObject             triGrid,
    TQ3TriGridData                *triGridData
);

Get the data of a TriGrid object.

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

Parameters

NameDescription
triGridA TriGrid object.
triGridDataReceives data describing the TriGrid object.
Result: Success or failure of the operation.

Q3TriGrid_GetFacetAttributeSet

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

Get the attribute set of a trigrid face.

Parameters

NameDescription
triGridThe trigrid to query.
faceIndexThe index of the face to query.
facetAttributeSetReceives the attribute set of the trigrid face.
Result: Success or failure of the operation.

Q3TriGrid_GetVertexAttributeSet

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

Get the attribute set of a trigrid vertex.

Parameters

NameDescription
triGridThe trigrid to query.
rowIndexThe row index of the vertex to query.
columnIndexThe column index of the vertex to query.
attributeSetReceives the attribute set of the trigrid vertex.
Result: Success or failure of the operation.

Q3TriGrid_GetVertexPosition

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

Get the position of a trigrid vertex.

Parameters

NameDescription
triGridThe trigrid to query.
rowIndexThe row index of the vertex to query.
columnIndexThe column index of the vertex to query.
positionReceives the position of the trigrid vertex.
Result: Success or failure of the operation.

Q3TriGrid_New

TQ3GeometryObject  
Q3TriGrid_New (
    const TQ3TriGridData          *triGridData
);

Create a new TriGrid geometry object.

Parameters

NameDescription
triGridDataData describing a TriGrid.
Result: Reference to a new TriGrid geometry object, or NULL on failure.

Q3TriGrid_SetData

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

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

Parameters

NameDescription
triGridA TriGrid object.
triGridDataData describing a TriGrid.
Result: Success or failure of the operation.

Q3TriGrid_SetFacetAttributeSet

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

Set the attribute set of a trigrid face.

Parameters

NameDescription
triGridThe trigrid to update.
faceIndexThe index of the face to update.
facetAttributeSetThe new attribute set for the trigrid face.
Result: Success or failure of the operation.

Q3TriGrid_SetVertexAttributeSet

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

Set the attribute set of a trigrid vertex.

Parameters

NameDescription
triGridThe trigrid to update.
rowIndexThe row index of the vertex to update.
columnIndexThe column index of the vertex to update.
attributeSetThe new attribute set for the trigrid vertex.
Result: Success or failure of the operation.

Q3TriGrid_SetVertexPosition

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

Set the position of a trigrid vertex.

Parameters

NameDescription
triGridThe trigrid to update.
rowIndexThe row index of the vertex to update.
columnIndexThe column index of the vertex to update.
positionThe new position for the trigrid vertex.
Result: Success or failure of the operation.

Q3TriGrid_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
triGridDataData describing a TriGrid.
viewA view object.
Result: Success or failure of the operation.

Q3TriMesh_EmptyData

TQ3Status  
Q3TriMesh_EmptyData (
    TQ3TriMeshData                *triMeshData
);

Release memory allocated by Q3TriMesh_GetData.

Parameters

NameDescription
triMeshDataData describing a TriMesh, previously obtained with Q3TriMesh_GetData.
Result: Success or failure of the operation.

Q3TriMesh_GetData

TQ3Status  
Q3TriMesh_GetData (
    TQ3GeometryObject             triMesh,
    TQ3TriMeshData                *triMeshData
);

Get the data of a TriMesh object.

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

Parameters

NameDescription
triMeshA TriMesh object.
triMeshDataReceives data describing the TriMesh object.
Result: Success or failure of the operation.

Q3TriMesh_LockData

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

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.

Parameters

NameDescription
triMeshThe TriMesh to lock.
readOnlyIndicates if the returned data is read-only.
triMeshDataReceives a pointer to the TQ3TriMeshData for the TriMesh.
Result: Success or failure of the operation.

Q3TriMesh_New

TQ3GeometryObject  
Q3TriMesh_New (
    const TQ3TriMeshData          *triMeshData
);

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.

Parameters

NameDescription
triMeshDataData describing a TriMesh.
Result: Reference to a new TriMesh geometry object, or NULL on failure.

Q3TriMesh_SetData

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

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.

Parameters

NameDescription
triMeshA TriMesh object.
triMeshDataData describing a TriMesh.
Result: Success or failure of the operation.

Q3TriMesh_Submit

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

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

This function should only be called in a submitting loop.

Parameters

NameDescription
triMeshDataData describing a TriMesh.
viewA view object.
Result: Success or failure of the operation.

Q3TriMesh_UnlockData

TQ3Status  
Q3TriMesh_UnlockData (
    TQ3GeometryObject             triMesh
);

Unlocks a TriMesh previously locked with Q3TriMesh_LockData.

This function is not available in QD3D.

Parameters

NameDescription
triMeshThe TriMesh to unlock.
Result: Success or failure of the operation.

Q3Triangle_EmptyData

TQ3Status  
Q3Triangle_EmptyData (
    TQ3TriangleData               *triangleData
);

Release memory allocated by Q3Triangle_GetData.

Parameters

NameDescription
triangleDataData describing a Triangle, previously obtained with Q3Triangle_GetData.
Result: Success or failure of the operation.

Q3Triangle_GetData

TQ3Status  
Q3Triangle_GetData (
    TQ3GeometryObject             triangle,
    TQ3TriangleData               *triangleData
);

Get the data of a Triangle object.

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

Parameters

NameDescription
triangleA Triangle object.
triangleDataReceives data describing the Triangle object.
Result: Success or failure of the operation.

Q3Triangle_GetVertexAttributeSet

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

Get the attribute set of a triangle vertex.

Parameters

NameDescription
triangleThe triangle to query.
indexThe index of the vertex to query.
attributeSetReceives the attribute set of the triangle vertex.
Result: Success or failure of the operation.

Q3Triangle_GetVertexPosition

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

Get the position of a triangle vertex.

Parameters

NameDescription
triangleThe triangle to query.
indexThe index of the vertex to query.
pointReceives the position of the triangle vertex.
Result: Success or failure of the operation.

Q3Triangle_New

TQ3GeometryObject  
Q3Triangle_New (
    const TQ3TriangleData         *triangleData
);

Create a new triangle geometry object.

Parameters

NameDescription
triangleDataData describing a triangle.
Result: Reference to a new Triangle geometry object, or NULL on failure.

Q3Triangle_SetData

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

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

Parameters

NameDescription
triangleA triangle object.
triangleDataData describing a triangle.
Result: Success or failure of the operation.

Q3Triangle_SetVertexAttributeSet

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

Set the attribute set of a triangle vertex.

Parameters

NameDescription
triangleThe triangle to update.
indexThe index of the vertex to update.
attributeSetThe new attribute set for the triangle vertex.
Result: Success or failure of the operation.

Q3Triangle_SetVertexPosition

TQ3Status  
Q3Triangle_SetVertexPosition (
    TQ3GeometryObject             triangle,
    TQ3Uns32                      index,
    const TQ3Point3D              *point
);

Set the position of a triangle vertex.

Parameters

NameDescription
triangleThe triangle to update.
indexThe index of the vertex to update.
pointThe new position for the triangle vertex.
Result: Success or failure of the operation.

Q3Triangle_Submit

TQ3Status  
Q3Triangle_Submit (
    const TQ3TriangleData         *triangleData,
    TQ3ViewObject                 view
);

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

This function should only be called in a submitting loop.

Parameters

NameDescription
triangleDataData describing a triangle.
viewA view object.
Result: Success or failure of the operation.

Copyright © 1999-2003 Quesa Developers — last updated on 8/10/2003