Base class for Geometry. More...
Go to the source code of this file.
Classes | |
class | FBGeometry |
Geometry class. More... | |
class | FBMesh |
Mesh class. More... | |
class | FBSurface |
Surface class. More... | |
class | FBNurbs |
Nurbs class. More... | |
class | FBPatch |
Patch class. More... | |
Macros | |
#define | FBSDK_DLL K_DLLIMPORT |
Be sure that FBSDK_DLL is defined only once... More... | |
Enumerations | |
enum | FBGeometryPrimitiveType { kFBGeometry_POINTS = 0x0000 , kFBGeometry_LINES = 0x0001 , kFBGeometry_LINE_LOOP = 0x0002 , kFBGeometry_LINE_STRIP = 0x0003 , kFBGeometry_TRIANGLES = 0x0004 , kFBGeometry_TRIANGLE_STRIP = 0x0005 , kFBGeometry_TRIANGLE_FAN = 0x0006 , kFBGeometry_QUADS = 0x0007 , kFBGeometry_QUADS_STRIP = 0x0008 , kFBGeometry_POLYGON = 0x0009 } |
enum | FBGeometryArrayID { kFBGeometryArrayID_Point = 1 << 0 , kFBGeometryArrayID_Normal = 1 << 1 , kFBGeometryArrayID_Tangent = 1 << 2 , kFBGeometryArrayID_Binormal = 1 << 3 , kFBGeometryArrayID_Color = 1 << 4 } |
ID to use when requesting a specific array of data for a model. More... | |
enum | FBGeometryArrayElementType { kFBGeometryArrayElementType_Unknown , kFBGeometryArrayElementType_Integer , kFBGeometryArrayElementType_Float , kFBGeometryArrayElementType_Float2 , kFBGeometryArrayElementType_Float3 , kFBGeometryArrayElementType_Float4 , kFBGeometryArrayElementType_FloatMatrix4x4 , kFBGeometryArrayElementType_IntegerArrayPointer } |
Type of data when requesting an array. More... | |
enum | FBGeometryMappingMode { kFBGeometryMapping_NONE , kFBGeometryMapping_BY_CONTROL_POINT , kFBGeometryMapping_BY_POLYGON_VERTEX , kFBGeometryMapping_BY_POLYGON , kFBGeometryMapping_BY_EDGE , kFBGeometryMapping_ALL_SAME } |
Determine how the element is mapped on a surface. More... | |
enum | FBGeometryReferenceMode { kFBGeometryReference_DIRECT , kFBGeometryReference_INDEX , kFBGeometryReference_INDEX_TO_DIRECT } |
Determine how the mapping information is stored in the array of coordinate. More... | |
enum | kFBGeometryUpdateFlags { kFBGeometryUpdateNone = 0 , kFBGeometryUpdateAll = 1 << 0 , kFBGeometryUpdatePositionAndNormal = 1 << 1 , kFBGeometryUpdateSkinWeight = 1 << 2 , kFBGeometryUpdateInverseNormal = 1 << 3 , kFBGeometryUpdateMappingMode = 1 << 4 } |
enum | FBSurfaceMode { kFBSurfaceModeRaw , kFBSurfaceModeLowNoNormals , kFBSurfaceModeLow , kFBSurfaceModeHighNoNormals , kFBSurfaceModeHigh } |
Surface modes. More... | |
enum | FBSurfaceType { kFBSurfaceTypeBezier , kFBSurfaceTypeBezierQuadric , kFBSurfaceTypeCardinal , kFBSurfaceTypeBspline , kFBSurfaceTypeLinear } |
Surface types. More... | |
enum | FBNurbType { kFBNurbTypePeriodic , kFBNurbTypeClosed , kFBNurbTypeOpen } |
Surface types. More... | |
Functions | |
FB_DEFINE_COMPONENT (K_DLLIMPORT, Geometry) | |
FB_DEFINE_COMPONENT (K_DLLIMPORT, Mesh) | |
__FB_FORWARD (FBGeometry) | |
FB_DEFINE_ENUM (K_DLLIMPORT, GeometryMappingMode) | |
FB_DEFINE_ENUM (K_DLLIMPORT, GeometryReferenceMode) | |
__FB_FORWARD (FBMesh) | |
__FB_FORWARD (FBSurface) | |
FB_DEFINE_ENUM (K_DLLIMPORT, SurfaceMode) | |
FB_DEFINE_ENUM (K_DLLIMPORT, SurfaceType) | |
FB_DEFINE_ENUM (K_DLLIMPORT, NurbType) | |
__FB_FORWARD (FBNurbs) | |
__FB_FORWARD (FBPatch) | |
Base class for Geometry.
Definition in file fbgeometry.h.
#define FBSDK_DLL K_DLLIMPORT |
Be sure that FBSDK_DLL is defined only once...
Definition at line 48 of file fbgeometry.h.
Type of data when requesting an array.
Enumerator | |
---|---|
kFBGeometryArrayElementType_Float3 | Each element is an array of 3 float. |
kFBGeometryArrayElementType_Float4 | Each element is an array of 4 float. |
Definition at line 86 of file fbgeometry.h.
enum FBGeometryArrayID |
ID to use when requesting a specific array of data for a model.
Definition at line 76 of file fbgeometry.h.
Determine how the element is mapped on a surface.
kFBGeometryMapping_NONE
The mapping is undetermined.kFBGeometryMapping_BY_CONTROL_POINT
There will be one mapping coordinate for each surface control point/vertex.kFBGeometryMapping_BY_POLYGON_VERTEX
There will be one mapping coordinate for each vertex, for each polygon/strip it is part of. This means that a vertex will have as many mapping coordinates as polygons it is part of.kFBGeometryMapping_BY_POLYGON
There can be only one mapping coordinate for the whole polygon/strip.kFBGeometryMapping_BY_EDGE
There will be one mapping coordinate for each unique edge in the mesh. This is meant to be used with smoothing layer elements.kFBGeometryMapping_ALL_SAME
There can be only one mapping coordinate for the whole surface. Definition at line 113 of file fbgeometry.h.
Determine how the mapping information is stored in the array of coordinate.
kFBGeometryReference_DIRECT
This indicates that the mapping information for the n'th element is found in the n'th place of DirectArray.kFBGeometryReference_INDEX
, This indicates that the mapping information for the n'th element is found in the n'th place of IndexArray.kFBGeometryReference_INDEX_TO_DIRECT
This indicates that the KLayerElementTemplate::mIndexArray contains, for the n'th element, an index in the KLayerElementTemplate::mDirectArray array of mapping elements. eINDEX_TO_DIRECT is usually useful to store coordinates for eBY_POLYGON_VERTEX mapping mode elements. Since the same coordinates are usually repeated a large number of times, it saves spaces to store the coordinate only one time and refer to them with an index. Materials and Textures are also referenced with this mode and the actual Material/Texture can be accessed via the KLayerElementTemplate::mDirectArray Definition at line 134 of file fbgeometry.h.
enum FBNurbType |
Surface types.
Enumerator | |
---|---|
kFBNurbTypePeriodic | Periodic Type Nurb. |
kFBNurbTypeClosed | Closed Type Nurb. |
kFBNurbTypeOpen | Open Type Nurb. |
Definition at line 854 of file fbgeometry.h.
enum FBSurfaceMode |
Surface modes.
Definition at line 759 of file fbgeometry.h.
enum FBSurfaceType |
Surface types.
Definition at line 770 of file fbgeometry.h.
Definition at line 144 of file fbgeometry.h.