#include<kfbxgeometrybase.h>
Use theKFbxGeometryBaseclass to manage control points for mesh, nurbs, patches and normals (on Layer 0).
Definition at line59of filekfbxgeometrybase.h.
Public and fast access Properties | |
KFbxTypedProperty<fbxDouble3> | BBoxMin |
KFbxTypedProperty<fbxDouble3> | BBoxMax |
void | ComputeBBox() |
Compute the Bounding box of the ControlPoints. | |
Control Points and Normals Management. | |
virtual void | InitControlPoints(int pCount) |
Allocate memory space for the array of control points. | |
void | InitNormals(int pCount=0) |
Allocate memory space for the array of normals. | |
void | InitNormals(KFbxGeometryBase*pSrc) |
Allocate memory space for the array of normals cloning them from the pSrc. | |
virtual void | SetControlPointAt(KFbxVector4&pCtrlPoint,KFbxVector4&pNormal, int pIndex, bool pI2DSearch=false) |
Sets the control point and the normal values for a given index. | |
virtual void | SetControlPointAt(KFbxVector4&pCtrlPoint, int pIndex) |
Sets the control point for a given index. | |
virtual void | SetControlPointNormalAt(KFbxVector4&pNormal, int pIndex, bool pI2DSearch=false) |
Sets the the normal values for a given index. | |
virtual int | GetControlPointsCount() const |
Get the number of control points. | |
virtualKFbxVector4* | GetControlPoints() const |
Get a pointer to the array of control points. | |
virtual void | SetControlPointCount(int pCount) |
Allocate memory space for the array of control points. | |
K_DEPRECATEDKFbxVector4* | GetNormals() const |
Get a pointer to the array of normals. | |
Off-loading Serialization section | |
virtual bool | ContentWriteTo(KFbxStream&pStream) const |
Write the content of the object to the given stream. | |
virtual bool | ContentReadFrom(constKFbxStream&pStream) |
Read the content of the object from the given stream. |
virtual void InitControlPoints | ( | int | pCount | ) | [virtual] |
Allocate memory space for the array of control points.
pCount | The number of control points. |
void InitNormals | ( | int | pCount=0 | ) |
Allocate memory space for the array of normals.
pCount | The desired size for the normal array. If pCount is specified, the array will have the same size as pCount. If pCount is not specified, the array will be the same length as the array of control points. |
The normals initialized with this function will have the ReferenceMode set to eDIRECT.
void InitNormals | ( | KFbxGeometryBase* | pSrc | ) |
Allocate memory space for the array of normals cloning them from the pSrc.
pSrc | The source geometry from wich we will clone the normals information (on Layer 0). |
virtual void SetControlPointAt | ( | KFbxVector4& | pCtrlPoint, | |
KFbxVector4& | pNormal, | |||
int | pIndex, | |||
bool | pI2DSearch=false | |||
) | [virtual] |
Sets the control point and the normal values for a given index.
pCtrlPoint | The value of the control point. | |
pNormal | The value of the normal. | |
pIndex | The index of the control point/normal to be modified. | |
pI2DSearch | When true AND the normals array reference mode is eINDEX_TO_DIRECT, search pNormal in the existing array to avoid inserting it if it already exist. NOTE: this feature uses a linear search algorithm, therefore it can be time consuming if the DIRECT array of normals contains a huge number of elements. |
virtual void SetControlPointAt | ( | KFbxVector4& | pCtrlPoint, | |
int | pIndex | |||
) | [virtual] |
Sets the control point for a given index.
pCtrlPoint | The value of the control point. | |
pIndex | The index of the control point/normal to be modified. |
virtual void SetControlPointNormalAt | ( | KFbxVector4& | pNormal, | |
int | pIndex, | |||
bool | pI2DSearch=false | |||
) | [virtual] |
Sets the the normal values for a given index.
pNormal | The value of the normal. | |
pIndex | The index of the control point/normal to be modified. | |
pI2DSearch | When true AND the normals array reference mode is eINDEX_TO_DIRECT, search pNormal in the existing array to avoid inserting it if it already exist. NOTE: this feature uses a linear search algorithm, therefore it can be time consuming if the DIRECT array of normals contains a huge number of elements. |
virtual int GetControlPointsCount | ( | ) | const[virtual] |
Get the number of control points.
Reimplemented inKFbxTrimNurbsSurface.
virtualKFbxVector4* GetControlPoints | ( | ) | const[virtual] |
Get a pointer to the array of control points.
NULL
if the array has not been allocated.Reimplemented inKFbxTrimNurbsSurface.
virtual void SetControlPointCount | ( | int | pCount | ) | [virtual] |
Allocate memory space for the array of control points.
pCount | The number of control points. |
K_DEPRECATEDKFbxVector4* GetNormals | ( | ) | const |
Get a pointer to the array of normals.
NULL
if the array hasn't been allocated yet.This method should not be called anymore since it will not put a lock to internal array. Use the other flavor instead.
void ComputeBBox | ( | ) |
Compute the Bounding box of the ControlPoints.
virtual bool ContentWriteTo | ( | KFbxStream& | pStream | ) | const[virtual] |
Write the content of the object to the given stream.
pStream | The destination stream. |
Reimplemented fromKFbxObject.
Reimplemented inKFbxPatch.
virtual bool ContentReadFrom | ( | constKFbxStream& | pStream | ) | [virtual] |
Read the content of the object from the given stream.
pStream | The source streak. |
Reimplemented fromKFbxObject.
Reimplemented inKFbxPatch.