- Main Page
- Classes
- Files
- Directories
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | Friends

# FbxShape Class Reference

This reference page is linked to from the following overview topics: List of Python Fbx classes.

Search for all occurrences

## Detailed Description

A shape describes the deformation on a set of control points, which is similar to the cluster deformer in Maya.

For example, we can add a shape to a created geometry. And the shape and the geometry have the same topological information but different position of the control points. With varying amounts of influence, the geometry performs a deformation effect.

See also:
  FbxGeometry

Examples:

  ExportScene02/main.cxx, ExportScene03/main.cxx, ImportScene/DisplayShape.cxx, and ViewScene/DrawScene.cxx.

Definition at line 33 of file fbxshape.h.

`#include <fbxshape.h>`

Inheritance diagram for FbxShape:
[legend]

List of all members.

## Public Member Functions
bool | SetBlendShapeChannel (FbxBlendShapeChannel *pBlendShapeChannel)
| Set the blend shape channel that contains this target shape.
FbxBlendShapeChannel * | GetBlendShapeChannel () const
| Get the blend shape channel that contains this target shape.
FbxGeometry * | GetBaseGeometry ()
| Get the base geometry of this target shape.
int | GetControlPointIndicesCount () const
| Get the length of the arrays of control point indices and weights.
int * | GetControlPointIndices () const
| Get the array of control point indices.
void | SetControlPointIndicesCount (int pCount)
| Set the array size for the control point indices.
void | AddControlPointIndex (int pIndex)
| Add a control point index to the control point indices array.
void | Reset ()
| Restore the shape to its initial state.
virtual FbxObject & | Copy (const FbxObject &pObject)
| Copy an object content into this object.
## Protected Member Functions
virtual FbxNodeAttribute::EType | GetAttributeType () const
| Return the type of node attribute which is FbxNodeAttribute::EType::eUnknown.
virtual FbxStringList | GetTypeFlags () const
| FbxShape (FbxManager &pManager, char const *pName)
virtual bool | ConstructProperties (bool pForceSet)
## Protected Attributes
FbxArray< int > | mControlPointIndices
## Friends
class | FbxGeometry

## Constructor & Destructor Documentation

FbxShape | ( | FbxManager & | pManager,
|  | char const * | pName
| ) |  | `[protected]`

## Member Function Documentation

bool SetBlendShapeChannel | ( | FbxBlendShapeChannel * | pBlendShapeChannel | ) |

Search for all occurrences

Set the blend shape channel that contains this target shape.

Parameters:

  pBlendShapeChannel | Pointer to the blend shape channel to set.

Returns:
  `true` on success, `false` otherwise.

FbxBlendShapeChannel* GetBlendShapeChannel | ( |  | ) | const

Search for all occurrences

Get the blend shape channel that contains this target shape.

Returns:
  a pointer to the blend shape channel if set or NULL.

FbxGeometry* GetBaseGeometry | ( |  | ) |

Search for all occurrences

Get the base geometry of this target shape.

Returns:
  a pointer to the base geometry if set or NULL.

Remarks:
  Since target shape can only connected to its base geometry through blend shape channel and blend shape deformer. So only when this target shape is connected to a blend shape channel, and the blend shape channel is connected to a blend shape deformer, and the blend shape deformer is used on a base geometry, then to get base geometry will success.

int GetControlPointIndicesCount | ( |  | ) | const

Search for all occurrences

Get the length of the arrays of control point indices and weights.

Returns:
  Length of the arrays of control point indices and weights. Returns 0 if no control point indices have been added or the arrays have been reset.

int* GetControlPointIndices | ( |  | ) | const

Search for all occurrences

Get the array of control point indices.

Returns:
  Pointer to the array of control point indices. `NULL` if no control point indices have been added or the array has been reset.

void SetControlPointIndicesCount | ( | int | pCount | ) |

Search for all occurrences

Set the array size for the control point indices.

Parameters:

  pCount | The new count.

void AddControlPointIndex | ( | int | pIndex | ) |

Search for all occurrences

Add a control point index to the control point indices array.

Parameters:

  pIndex | The control point index to add.

void Reset | ( |  | ) |

Search for all occurrences

Restore the shape to its initial state.

Calling this function will clear the following:

- Pointer to blend shape channel.
- Control point indices.

virtual FbxObject& Copy | ( | const FbxObject & | pObject | ) | `[virtual]`

Search for all occurrences

Copy an object content into this object.

Parameters:

  pObject | The source object to copy data from.

Returns:
  Returns the destination object being modified by the source.

Remarks:
  This function replace the assignment operator (operator=). It will copy all property values and the name. Connections are NOT copied.

Reimplemented from FbxGeometryBase.

virtual FbxNodeAttribute::EType GetAttributeType | ( |  | ) | const `[protected, virtual]`

Search for all occurrences

Return the type of node attribute which is FbxNodeAttribute::EType::eUnknown.

FbxNodeAttribute::EType::eUnknown is returned because this class derives accidentally from FbxNodeAttribute but its instances are not meant to be assigned to nodes.

Reimplemented from FbxLayerContainer.

virtual FbxStringList GetTypeFlags | ( |  | ) | const `[protected, virtual]`

Search for all occurrences

Reimplemented from FbxObject.

virtual bool ConstructProperties | ( | bool | pForceSet | ) | `[protected, virtual]`

Search for all occurrences

Reimplemented from FbxGeometryBase.

## Friends And Related Function Documentation

friend class FbxGeometry `[friend]`

Search for all occurrences

Definition at line 117 of file fbxshape.h.

## Member Data Documentation

FbxArray<int> mControlPointIndices `[protected]`

Search for all occurrences

Definition at line 115 of file fbxshape.h.

The documentation for this class was generated from the following file:

- fbxsdk/scene/geometry/fbxshape.h

FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape
FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape FbxShape