Attribute method types |
enum {
kQ3XMethodTypeAttributeInherit = Q3_METHOD_TYPE('i', 'n', 'h', 't'),
kQ3XMethodTypeAttributeCopyInherit = Q3_METHOD_TYPE('a', 'c', 'p', 'i'),
kQ3XMethodTypeAttributeDefault = Q3_METHOD_TYPE('a', 's', 'd', 'f'),
kQ3XMethodTypeAttributeIsDefault = Q3_METHOD_TYPE('a', 'i', 'd', 'f')
};
These are method types that apply particularly to custom attributes. Note that
a custom element may also need to provide more general custom element or custom class methods,
such as kQ3XMethodTypeObjectTraverse.
- kQ3XMethodTypeAttributeInherit
- See
TQ3XAttributeInheritMethod.- kQ3XMethodTypeAttributeCopyInherit
- See
TQ3XAttributeCopyInheritMethod.- kQ3XMethodTypeAttributeDefault
- See
TQ3XAttributeDefaultMethod.- kQ3XMethodTypeAttributeIsDefault
- See
TQ3XAttributeIsDefaultMethod.
Element method types |
enum {
kQ3XMethodTypeElementCopyAdd = Q3_METHOD_TYPE('e', 'c', 'p', 'a'),
kQ3XMethodTypeElementCopyReplace = Q3_METHOD_TYPE('e', 'c', 'p', 'r'),
kQ3XMethodTypeElementCopyGet = Q3_METHOD_TYPE('e', 'c', 'p', 'g'),
kQ3XMethodTypeElementCopyDuplicate = Q3_METHOD_TYPE('e', 'c', 'p', 'd'),
kQ3XMethodTypeElementDelete = Q3_METHOD_TYPE('e', 'd', 'e', 'l')
};
These are method types that apply particularly to custom elements. Note that
a custom element may also need to provide more general custom class methods,
such as kQ3XMethodTypeObjectTraverse.
- kQ3XMethodTypeElementCopyAdd
- See
TQ3XElementCopyAddMethod.- kQ3XMethodTypeElementCopyReplace
- See
TQ3XElementCopyReplaceMethod.- kQ3XMethodTypeElementCopyGet
- See
TQ3XElementCopyGetMethod.- kQ3XMethodTypeElementCopyDuplicate
- See
TQ3XElementCopyDuplicateMethod.- kQ3XMethodTypeElementDelete
- See
TQ3XElementDeleteMethod.
TQ3AttributeTypes |
typedef enum TQ3AttributeTypes {
kQ3AttributeTypeNone = 0, // N/A
kQ3AttributeTypeSurfaceUV = 1, // TQ3Param2D
kQ3AttributeTypeShadingUV = 2, // TQ3Param2D
kQ3AttributeTypeNormal = 3, // TQ3Vector3D
kQ3AttributeTypeAmbientCoefficient = 4, // float
kQ3AttributeTypeDiffuseColor = 5, // TQ3ColorRGB
kQ3AttributeTypeSpecularColor = 6, // TQ3ColorRGB
kQ3AttributeTypeSpecularControl = 7, // float
kQ3AttributeTypeTransparencyColor = 8, // TQ3ColorRGB
kQ3AttributeTypeSurfaceTangent = 9, // TQ3Tangent2D
kQ3AttributeTypeHighlightState = 10, // TQ3Switch
kQ3AttributeTypeSurfaceShader = 11, // TQ3SurfaceShaderObject
kQ3AttributeTypeEmissiveColor = 12, // TQ3ColorRGB
kQ3AttributeTypeNumTypes = 13, // N/A
kQ3AttributeTypeSize32 = 0xFFFFFFFF
} TQ3AttributeTypes;
Type numbers for standard attributes. See QuesaView.h for default values of some
of these attributes. For instance you will find that if you do not specify
any attributes, an object will be white, opaque, and somewhat shiny.
- kQ3AttributeTypeNone
- No type. See
Q3AttributeSet_GetNextAttributeType.- kQ3AttributeTypeSurfaceUV
- Surface UV coordinates (
TQ3Param2D) for texture mapping.- kQ3AttributeTypeShadingUV
- Shading UV coordinates (
TQ3Param2D) (originally intended for procedural shaders, but effectively interchangable with surface UV).- kQ3AttributeTypeNormal
- Normal vector (
TQ3Vector3D)- kQ3AttributeTypeAmbientCoefficient
- Ambient coefficient (
float)- kQ3AttributeTypeDiffuseColor
- Diffuse color (
TQ3ColorRGB)- kQ3AttributeTypeSpecularColor
- Specular color (
TQ3ColorRGB)- kQ3AttributeTypeSpecularControl
- Specular control (
float). Larger values make smaller specular highlights.- kQ3AttributeTypeTransparencyColor
- Transparency color (
TQ3ColorRGB). { 0, 0, 0 } is completely transparent, and { 1, 1, 1 } is completely opaque.- kQ3AttributeTypeSurfaceTangent
- Surface tangent (
TQ3Tangent2D)- kQ3AttributeTypeHighlightState
- Highlight state (
TQ3Switch)- kQ3AttributeTypeSurfaceShader
- Surface shader (
TQ3SurfaceShaderObject)- kQ3AttributeTypeEmissiveColor
- Emissive color (
TQ3ColorRGB) (This attribute did not exist in QuickDraw 3D, and may not be recognized by all renderers.)- kQ3AttributeTypeNumTypes
- Number of standard attribute types.
TQ3XAttributeMask |
enum {
kQ3XAttributeMaskNone = 0,
kQ3XAttributeMaskSurfaceUV = (1 << (kQ3AttributeTypeSurfaceUV - 1)),
kQ3XAttributeMaskShadingUV = (1 << (kQ3AttributeTypeShadingUV - 1)),
kQ3XAttributeMaskNormal = (1 << (kQ3AttributeTypeNormal - 1)),
kQ3XAttributeMaskAmbientCoefficient = (1 << (kQ3AttributeTypeAmbientCoefficient - 1)),
kQ3XAttributeMaskDiffuseColor = (1 << (kQ3AttributeTypeDiffuseColor - 1)),
kQ3XAttributeMaskSpecularColor = (1 << (kQ3AttributeTypeSpecularColor - 1)),
kQ3XAttributeMaskSpecularControl = (1 << (kQ3AttributeTypeSpecularControl - 1)),
kQ3XAttributeMaskTransparencyColor = (1 << (kQ3AttributeTypeTransparencyColor - 1)),
kQ3XAttributeMaskSurfaceTangent = (1 << (kQ3AttributeTypeSurfaceTangent - 1)),
kQ3XAttributeMaskHighlightState = (1 << (kQ3AttributeTypeHighlightState - 1)),
kQ3XAttributeMaskSurfaceShader = (1 << (kQ3AttributeTypeSurfaceShader - 1)),
kQ3XAttributeMaskEmissiveColor = (1 << (kQ3AttributeTypeEmissiveColor - 1)),
kQ3XAttributeMaskCustomAttribute = 0x80000000,
kQ3XAttributeMaskAll = 0x80000FFF,
kQ3XAttributeMaskInherited = 0x000003FF,
kQ3XAttributeMaskInterpolated = kQ3XAttributeMaskSurfaceUV |
kQ3XAttributeMaskShadingUV |
kQ3XAttributeMaskNormal |
kQ3XAttributeMaskAmbientCoefficient |
kQ3XAttributeMaskDiffuseColor |
kQ3XAttributeMaskSpecularControl |
kQ3XAttributeMaskTransparencyColor |
kQ3XAttributeMaskEmissiveColor |
kQ3XAttributeMaskSurfaceTangent,
kQ3XAttributeMaskSize32 = 0xFFFFFFFF
};
Attribute mask flags.
- kQ3XAttributeMaskNone
- No attributes.
- kQ3XAttributeMaskSurfaceUV
- Surface UV attribute mask.
- kQ3XAttributeMaskShadingUV
- Shading UV attribute mask.
- kQ3XAttributeMaskNormal
- Normal attribute mask.
- kQ3XAttributeMaskAmbientCoefficient
- Ambient coefficent attribute mask.
- kQ3XAttributeMaskDiffuseColor
- Diffuse color attribute mask.
- kQ3XAttributeMaskSpecularColor
- Specular color attribute mask.
- kQ3XAttributeMaskSpecularControl
- Specular control attribute mask.
- kQ3XAttributeMaskTransparencyColor
- Transparency color attribute mask.
- kQ3XAttributeMaskSurfaceTangent
- Surface tangent attribute mask.
- kQ3XAttributeMaskHighlightState
- Highlight state attribute mask.
- kQ3XAttributeMaskSurfaceShader
- Surface shader attribute mask.
- kQ3XAttributeMaskEmissiveColor
- Emissive color attribute mask.
- kQ3XAttributeMaskCustomAttribute
- Custom attribute mask.
- kQ3XAttributeMaskAll
- All attributes.
- kQ3XAttributeMaskInherited
- Inherited attributes mask.
- kQ3XAttributeMaskInterpolated
- Interpolated attributes mask.
© 1999-2008 Quesa Developers (Last Updated 5/10/2008)