A line is a geometry made of points.
To be different from curves(nurbs, etc), line is linear. The class can define a line with as many points as needed. The line can also represent line segments, which means there will be gaps among points. To denote line segments and these gaps, certain points could be marked as end points. That's why we supply an index array(mPointArray) and an end point array(mEndPointArray). To mark a point as end point, we add its index(of mPointArray) to mEndPointArray.
Methods to initialize, set and access control points are provided in the FbxGeometryBase class. To initialize control point count, please use FbxLine::InitControlPoints(int pCount). To set a control point, please use FbxLine::SetControlPointAt(const FbxVector4 &pCtrlPoint , int pIndex). To get control point count, please use FbxLine::GetControlPointsCount(). To get a control point, please use FbxLine::GetControlPointAt(int pIndex). The pIndex could be returned by GetPointIndexAt(i).
#include <fbxline.h>

Public Member Functions | |
| virtual FbxNodeAttribute::EType | GetAttributeType () const |
| Return the type of node attribute. | |
| void | Reset () |
| Reset the line to default values. | |
| void | SetIndexArraySize (int pCount) |
| Sets the size of index array(mPointArray). | |
| int | GetIndexArraySize () const |
| Return the size of index array(mPointArray). | |
| FbxArray< int > * | GetIndexArray () |
| Get the pointer to the index array. | |
| bool | SetPointIndexAt (int pValue, int pIndex, bool pAsEndPoint=false) |
| Sets index array(mPointArray) at a specified index. | |
| int | GetPointIndexAt (int pIndex) const |
| Gets the point index(i.e: an index to a control point) at the specified index. | |
| bool | AddPointIndex (int pValue, bool pAsEndPoint=false) |
| Adds a point to the index array (mPointArray). | |
| FbxArray< int > * | GetEndPointArray () |
| Get the pointer to the end point array. | |
| bool | AddEndPoint (int pPointIndex) |
| Adds a point index to the end point array (mEndPointArray). | |
| int | GetEndPointAt (int pEndPointIndex) const |
| Gets the point index(an index to the point index array) at the specified index. | |
| int | GetEndPointCount () const |
| Query the number of end points. | |
| virtual FbxObject & | Copy (const FbxObject &pObject) |
| Copy an object content into this object. | |
Public Attributes | |
| FbxPropertyT< FbxBool > | Renderable |
| This property decide whether this line is renderable in 3DSMax. | |
Protected Member Functions | |
| virtual void | Construct (const FbxLine *pFrom) |
| virtual void | ConstructProperties (bool pForceSet) |
| Optional property constructor override, automatically called by default constructor. | |
| virtual void | Destruct (bool pRecursive) |
| Optional destructor override, automatically called by default destructor. | |
| virtual FbxNodeAttribute::EType GetAttributeType | ( | ) | const [virtual] |
Return the type of node attribute.
Reimplemented from FbxGeometry.
| void Reset | ( | ) |
Reset the line to default values.
Frees and set to NULL all layers and clear the control point array, the index array and end points array.
| void SetIndexArraySize | ( | int | pCount | ) |
Sets the size of index array(mPointArray).
| pCount | Specify the size of mPointArray. |
| int GetIndexArraySize | ( | ) | const |
Return the size of index array(mPointArray).
| FbxArray<int>* GetIndexArray | ( | ) | [inline] |
| bool SetPointIndexAt | ( | int | pValue, |
| int | pIndex, | ||
| bool | pAsEndPoint = false |
||
| ) |
Sets index array(mPointArray) at a specified index.
| pValue | An index to a control point. Its range is from 0 to count of control point. |
| pIndex | The specified index to mPointArray. Its range is from 0 to size of mPointArray. |
| pAsEndPoint | Mark current point as end point or not. If pAsEndPoint is true, pIndex will be automatically added to mEndPointArray. |
| int GetPointIndexAt | ( | int | pIndex | ) | const |
Gets the point index(i.e: an index to a control point) at the specified index.
| pIndex | The specified index to the point index array(mPointArray). Its range is from 0 to size of mPointArray. |
| bool AddPointIndex | ( | int | pValue, |
| bool | pAsEndPoint = false |
||
| ) |
Adds a point to the index array (mPointArray).
| pValue | The index to a control point. Its range is from 0 to count of control point. |
| pAsEndPoint | Mark current point as end point or not. If pAsEndPoint is true, current point index will be automatically added to mEndPointArray. |
| FbxArray<int>* GetEndPointArray | ( | ) | [inline] |
| bool AddEndPoint | ( | int | pPointIndex | ) |
Adds a point index to the end point array (mEndPointArray).
To mark it as end point, its index to mPointArray will be added to mEndPointArray.
| pPointIndex | The specified index to the point index array(mPointArray). Its range is from 0 to size of mPointArray. |
int lIndexCount = lLine->GetIndexArraySize(); for(int i = 0; i < lIndexCount; i++) { if(i%2 == 1) { lLine->AddEndPoint(i); } }
| int GetEndPointAt | ( | int | pEndPointIndex | ) | const |
Gets the point index(an index to the point index array) at the specified index.
| pIndex | The specified index to the end points array(mEndPointArray). Its range is from 0 to size of mEndPointArray. |
int lEndPointsCount = lLine->GetEndPointCount(); for (int j = 0; j < lEndPointsCount; j++) { //Get the index to the index array. int lEndIndex = lLine->GetEndPointAt(j); // to get the control point index of the end point int lControlPointIndex = lLine->GetPointIndexAt(lEndIndex); }
| int GetEndPointCount | ( | ) | const |
Query the number of end points.
Copy an object content into this object.
| pObject | The source object to copy data from. |
Reimplemented from FbxGeometry.
| virtual void Construct | ( | const FbxLine * | pFrom | ) | [protected, virtual] |
| virtual void ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Optional property constructor override, automatically called by default constructor.
| pForceSet | If the property value must be set regardless of default value. |
Reimplemented from FbxGeometryBase.
| virtual void Destruct | ( | bool | pRecursive | ) | [protected, virtual] |
Optional destructor override, automatically called by default destructor.
| pRecursive | If true, children objects should be destroyed as well. |
Reimplemented from FbxGeometry.
This property decide whether this line is renderable in 3DSMax.
Lines from Maya are not renderable by default.