#include <fbxlodgroup.h>
Defines a LOD (Level of Detail) group.
This LodGroup node is a group node that can be used to detect how close a group of objects is to a camera. Typically this node is used for controlling "Level of Detail" visibility.
Properties in the class are designed according to Maya implementation. So these properties may be incompatible with other software, like 3ds Max.
In Maya, with "Level of Detail",the visibility of the children of this transform are controlled by the distance of a group to a camera and the threshold values. For example, under a LOD group node, there are three children: ship_detailed, ship_medium, and ship_rough. There are three threshold values: 5, 10 and 15. When the camera is within 5 units of the group bounding box, only ship_detailed is visible. When the view is zoomed out and the camera is 9 units away from the group, only ship_medium is visible. When the view is zoomed out to 30 units away, only ship_rough is visible.
This node attribute contains the properties of a null node.
Example code to create LODGroup:
Definition at line 54 of file fbxlodgroup.h.
Public Types | |
enum | EDisplayLevel { eUseLOD, eShow, eHide } |
types to determine how to display nodes in LODGroup. More... | |
![]() | |
enum | EType { eUnknown, eNull, eMarker, eSkeleton, eMesh, eNurbs, ePatch, eCamera, eCameraStereo, eCameraSwitcher, eLight, eOpticalReference, eOpticalMarker, eNurbsCurve, eTrimNurbsSurface, eBoundary, eNurbsSurface, eShape, eLODGroup, eSubDiv, eCachedEffect, eLine } |
Node attribute types. More... | |
![]() | |
enum | EObjectFlag { eNone = 0, eInitialized = 1 << 0, eSystem = 1 << 1, eSavable = 1 << 2, eSelected = 1 << 3, eHidden = 1 << 4, eContentLoaded = 1 << 5, eDontLocalize = 1 << 6, eCopyCalledByClone = 1 << 16 } |
Flags available to control objects. More... | |
enum | ECloneType { eDeepClone, eReferenceClone } |
Types of clones that can be created for FbxObject. More... | |
Public Member Functions | |
virtual FbxNodeAttribute::EType | GetAttributeType () const |
Return the type of node attribute which is EType::eLODGroup. More... | |
int | GetNumThresholds () const |
Get the size of the threshold list. More... | |
bool | AddThreshold (FbxDistance pThreshValue) |
Add a new threshold value to the current list. More... | |
bool | SetThreshold (int pEl, FbxDistance pThreshValue) |
Set the threshold value for the specified object. More... | |
bool | GetThreshold (int pEl, FbxDistance &pThreshValue) const |
Get the threshold value for the specified object. More... | |
int | GetNumDisplayLevels () const |
Get the size of the displayLevel list. More... | |
bool | AddDisplayLevel (FbxLODGroup::EDisplayLevel pValue) |
Add a new displayLevel value to the current list. More... | |
bool | SetDisplayLevel (int pEl, FbxLODGroup::EDisplayLevel pValue) |
Set the display level value for the specified object. More... | |
bool | GetDisplayLevel (int pEl, FbxLODGroup::EDisplayLevel &pValue) const |
Get the display level value for the specified object. More... | |
![]() | |
int | GetNodeCount () const |
Return the node count using this attribute. More... | |
FbxNode * | GetNode (int pIndex=0) const |
Return the node this attribute is set to. More... | |
![]() | |
virtual void | Compact () |
Compact the memory used by this object. More... | |
FBX_DEPRECATED bool | Is (const FbxClassId &pClassId) const |
Test if this class is a hierarchical children of the specified class type. More... | |
template<class T > | |
bool | Is () const |
Templated test if this class is a hierarchical children of the specified class type. More... | |
FbxManager * | GetFbxManager () const |
Retrieve the FbxManager this object belongs to. More... | |
FbxDocument * | GetDocument () const |
Returns a const pointer to the document that contains this object. More... | |
FbxDocument * | GetRootDocument () const |
Returns a const pointer to the root document that contains this object. More... | |
FbxScene * | GetScene () const |
Returns a const pointer to the scene that contains this object. More... | |
void | Destroy (bool pRecursive=false) |
Unregister and delete this object from memory. More... | |
void | ResetProperties () |
Reset all the properties of this object to their default values. More... | |
virtual bool | GetSelected () |
Returns if this object is currently in a selected state. More... | |
virtual void | SetSelected (bool pSelected) |
Sets whether this object is currently selected. More... | |
void | SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData) |
Sets the data pointer for an user data record whose ID is pUserID. More... | |
void * | GetUserDataPtr (const FbxUInt64 &pUserID) const |
Returns the data pointer of an user data record whose ID is pUserID. More... | |
void | SetUserDataPtr (void *pUserData) |
Sets the data pointer for the user data record whose ID is the object ID. More... | |
void * | GetUserDataPtr () const |
Returns the data pointer of the user data record whose ID is the object ID. More... | |
bool | ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
Connects this object to a source object. More... | |
bool | IsConnectedSrcObject (const FbxObject *pObject) const |
Judges whether this object connects with the source object. More... | |
bool | DisconnectSrcObject (FbxObject *pObject) |
Disconnects this object from a source object. More... | |
bool | DisconnectAllSrcObject () |
Disconnects this object from all source objects. More... | |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
Disconnects this object from all source objects that satisfy a given criteria. More... | |
FBX_DEPRECATED bool | DisconnectAllSrcObject (FbxClassId pClassId) |
Disconnects this object from all source objects of a specific class type. More... | |
int | GetSrcObjectCount () const |
Returns the number of source objects with which this object connects. More... | |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of source objects that satisfy the given criteria with which this object connects. More... | |
FBX_DEPRECATED int | GetSrcObjectCount (FbxClassId pClassId) const |
Returns the number of source objects of the specific class type with which this object connects. More... | |
FbxObject * | GetSrcObject (int pIndex=0) const |
Returns the source object with which this object connects at the specified index. More... | |
FbxObject * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the source object that satisfies the criteria at the specified index with which this object connects. More... | |
FBX_DEPRECATED FbxObject * | GetSrcObject (FbxClassId pClassId, int pIndex=0) const |
Returns the source object of the specified class type at the specified index with which this object connects. More... | |
FbxObject * | FindSrcObject (const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name, starting at the specified index. More... | |
FbxObject * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More... | |
FBX_DEPRECATED FbxObject * | FindSrcObject (FbxClassId pClassId, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name which is also the specified class type, starting at the specified index. More... | |
template<class T > | |
bool | DisconnectAllSrcObject () |
Disconnects this object from all source objects of the specified class type. More... | |
template<class T > | |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
int | GetSrcObjectCount () const |
Returns the number of source objects of a specific class type with which this object connects. More... | |
template<class T > | |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
T * | GetSrcObject (int pIndex=0) const |
Returns the source object of the specified class type at the specified index. More... | |
template<class T > | |
T * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More... | |
template<class T > | |
T * | FindSrcObject (const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name that is the specified class type, starting at the specified index. More... | |
template<class T > | |
T * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More... | |
bool | ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
Connects this object to one destination object. More... | |
bool | IsConnectedDstObject (const FbxObject *pObject) const |
Judges whether this object connects with the destination object. More... | |
bool | DisconnectDstObject (FbxObject *pObject) |
Disconnects this object from the destination object. More... | |
bool | DisconnectAllDstObject () |
Disconnects this object from all destination objects. More... | |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
Disconnects this object from all destination objects that satisfy given criteria. More... | |
FBX_DEPRECATED bool | DisconnectAllDstObject (FbxClassId pClassId) |
Disconnects this object from all destination objects of the specified class type. More... | |
int | GetDstObjectCount () const |
Returns the number of destination objects with which this object connects. More... | |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of destination objects with which this object connects that satisfy the given criteria. More... | |
FBX_DEPRECATED int | GetDstObjectCount (FbxClassId pClassId) const |
Returns the number of destination objects of the specified class type with which this object connects. More... | |
FbxObject * | GetDstObject (int pIndex=0) const |
Returns the destination object at the specified index with which this object connects. More... | |
FbxObject * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More... | |
FBX_DEPRECATED FbxObject * | GetDstObject (FbxClassId pClassId, int pIndex=0) const |
Returns the destination object of the specified class type with which this object connects at the specified index. More... | |
FbxObject * | FindDstObject (const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name, starting at the specified index. More... | |
FbxObject * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More... | |
FBX_DEPRECATED FbxObject * | FindDstObject (FbxClassId pClassId, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which is the specified class type, starting at the specified index. More... | |
template<class T > | |
bool | DisconnectAllDstObject () |
Disconnects this object from all destination objects of the specified class type. More... | |
template<class T > | |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
int | GetDstObjectCount () const |
Returns the number of destination objects of the specified class type with which this object connects. More... | |
template<class T > | |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
T * | GetDstObject (int pIndex=0) const |
Returns the destination object with which this object connects that is the specified class type at the specified index. More... | |
template<class T > | |
T * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More... | |
template<class T > | |
T * | FindDstObject (const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More... | |
template<class T > | |
T * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More... | |
FbxProperty | GetFirstProperty () const |
Returns the first property of this object. More... | |
FbxProperty | GetNextProperty (const FbxProperty &pProperty) const |
Returns the next property of this object that follows the specified property. More... | |
FbxProperty | FindProperty (const char *pName, bool pCaseSensitive=true) const |
Searches a property by name. More... | |
FbxProperty | FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
Searches a property by name and data type. More... | |
FbxProperty | FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const |
Searches a property by full name. More... | |
FbxProperty | FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
Searches a property by full name and data type. More... | |
FbxProperty | GetClassRootProperty () |
Returns the class root property. More... | |
bool | ConnectSrcProperty (const FbxProperty &pProperty) |
Connects this object to a source property. More... | |
bool | IsConnectedSrcProperty (const FbxProperty &pProperty) |
Determines whether this object connects with the specified source property. More... | |
bool | DisconnectSrcProperty (const FbxProperty &pProperty) |
Disconnects this object from the specified source property. More... | |
int | GetSrcPropertyCount () const |
Returns the number of source properties with which this object connects. More... | |
FbxProperty | GetSrcProperty (int pIndex=0) const |
Returns the source property at the specified index with which this object connects. More... | |
FbxProperty | FindSrcProperty (const char *pName, int pStartIndex=0) const |
Searches a source property with which this object connects that has a specific name, starting at the specified index. More... | |
bool | ConnectDstProperty (const FbxProperty &pProperty) |
Connects this object to a destination property. More... | |
bool | IsConnectedDstProperty (const FbxProperty &pProperty) |
Determines if this object connects with the specified destination property. More... | |
bool | DisconnectDstProperty (const FbxProperty &pProperty) |
Disconnects this object from the specified destination property. More... | |
int | GetDstPropertyCount () const |
Returns the number of destination properties with which this object connects. More... | |
FbxProperty | GetDstProperty (int pIndex=0) const |
Returns the destination property at the specified index with which this object connects. More... | |
FbxProperty | FindDstProperty (const char *pName, int pStartIndex=0) const |
Searches a destination property with which this object connects that has a specific name, starting at the specified index. More... | |
int | ContentUnload () |
Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More... | |
int | ContentLoad () |
Loads this object's content using the offload peripheral that is currently set in the document. More... | |
bool | ContentIsLoaded () const |
Judges if this object's content is loaded. More... | |
void | ContentDecrementLockCount () |
Decreases the content lock count of an object. More... | |
void | ContentIncrementLockCount () |
Increases the content lock count of an object. More... | |
bool | ContentIsLocked () const |
Judges if this object's content is locked. More... | |
virtual bool | ContentWriteTo (FbxStream &pStream) const |
Writes the content of the object to the given stream. More... | |
virtual bool | ContentReadFrom (const FbxStream &pStream) |
Reads the content of the object from the given stream. More... | |
void | EmitMessage (FbxMessage *pMessage) const |
Emits a message in all available message emitters in the document or SDK manager. More... | |
virtual const char * | Localize (const char *pID, const char *pDefault=NULL) const |
Localization helper function, it calls the implementation of FBX SDK manager. More... | |
FbxLibrary * | GetParentLibrary () const |
Returns a handle on the parent library of this object. More... | |
bool | AddImplementation (FbxImplementation *pImplementation) |
Adds an implementation. More... | |
bool | RemoveImplementation (FbxImplementation *pImplementation) |
Removes an implementation. More... | |
bool | HasDefaultImplementation (void) const |
Determines if this shading node has a default implementation. More... | |
FbxImplementation * | GetDefaultImplementation (void) const |
Returns the default implementation of this shading node. More... | |
bool | SetDefaultImplementation (FbxImplementation *pImplementation) |
Sets the default implementation of this shading node. More... | |
int | GetImplementationCount (const FbxImplementationFilter *pCriteria=NULL) const |
Returns the number of implementations that satisfy a given criteria. More... | |
FbxImplementation * | GetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=NULL) const |
Returns the implementation at the specified index that satisfies the given criteria. More... | |
virtual FbxString | GetUrl () const |
Returns the URL of this object. More... | |
virtual bool | SetUrl (char *pUrl) |
Sets the URL of this object. More... | |
void | SetRuntimeClassId (const FbxClassId &pClassId) |
Set the run-time ClassId for this class. More... | |
FbxClassId | GetRuntimeClassId () const |
Retrieve the run-time ClassId for this object. More... | |
bool | IsRuntime (const FbxClassId &pClassId) const |
Test if this class is a hierarchical children of the specified class type. More... | |
bool | IsRuntimePlug () const |
Find out if the ClassId was registered during run-time rather than at compile time. More... | |
void | SetObjectFlags (EObjectFlag pFlags, bool pValue) |
Set the state of object flags. More... | |
bool | GetObjectFlags (EObjectFlag pFlags) const |
Get the state of object flags. More... | |
void | SetAllObjectFlags (FbxUInt pFlags) |
Override all object flags at once. More... | |
FbxUInt | GetAllObjectFlags () const |
Get all object flags at once. More... | |
virtual FbxObject & | Copy (const FbxObject &pObject) |
Copy an object content into this object. More... | |
virtual FbxObject * | Clone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=NULL, void *pSet=NULL) const |
Creates a clone of this object. More... | |
bool | IsAReferenceTo () const |
Checks if this object is a reference clone of another object. More... | |
FbxObject * | GetReferenceTo () const |
If this object is a reference clone, returns the original object (from which the clone originates). More... | |
bool | IsReferencedBy () const |
Checks if any objects are reference cloned from this object. More... | |
int | GetReferencedByCount () const |
Returns the number of objects that are reference clones of this object. More... | |
FbxObject * | GetReferencedBy (int pIndex) const |
Returns a reference clone of this object at the specified index. More... | |
void | SetName (const char *pName) |
Sets the name of this object. More... | |
const char * | GetName () const |
Returns the full name of this object. More... | |
FbxString | GetNameWithoutNameSpacePrefix () const |
Returns the name of the object without the namespace qualifier. More... | |
FbxString | GetNameWithNameSpacePrefix () const |
Returns the name of the object with the namespace qualifier. More... | |
void | SetInitialName (const char *pName) |
Sets the initial name of the object. More... | |
const char * | GetInitialName () const |
Returns the initial name of the object. More... | |
FbxString | GetNameSpaceOnly () |
Returns the namespace of the object. More... | |
void | SetNameSpace (FbxString pNameSpace) |
Sets the namespace of the object. More... | |
FbxArray< FbxString * > | GetNameSpaceArray (char identifier) |
Returns an array of all the namespaces for this object. More... | |
FbxString | GetNameOnly () const |
Returns only the name (no namespace or prefix) of the object. More... | |
FbxString | GetNameSpacePrefix () const |
Returns the namespace qualifier. More... | |
const FbxUInt64 & | GetUniqueID () const |
Returns the unique ID of this object. More... | |
![]() | |
void | AddListener (FbxEventHandler &pHandler) |
Add the specified event handler to current emitter list. More... | |
void | RemoveListener (FbxEventHandler &pHandler) |
Remove the specified event handler from current emitter list. More... | |
template<typename EventType > | |
void | Emit (const EventType &pEvent) const |
Emit an event with the specified the event type. More... | |
Public Attributes | |
FbxPropertyT< FbxBool > | MinMaxDistance |
This property handles the use of the Min/Max distances. More... | |
FbxPropertyT< FbxDouble > | MinDistance |
The minimum distance at which the group is displayed. More... | |
FbxPropertyT< FbxDouble > | MaxDistance |
The maximum distance at which the group is displayed. More... | |
FbxPropertyT< FbxBool > | WorldSpace |
Work in world space of transform or local space If true, the camera distance to the LOD group will be computed in world space. More... | |
![]() | |
FbxPropertyT< FbxDouble3 > | Color |
This property handles the color. More... | |
![]() | |
FbxProperty | RootProperty |
The root property that holds all children property for this object. More... | |
Additional Inherited Members | |
![]() | |
static FbxString | RemovePrefix (char *pName) |
Removes the prefix of pName. More... | |
static FbxString | StripPrefix (FbxString &lName) |
Strips the prefix of pName. More... | |
static FbxString | StripPrefix (const char *pName) |
Strips the prefix of pName. More... | |
![]() | |
static const char * | sColor |
Property Names. More... | |
static const FbxDouble3 | sDefaultColor |
Property Default Values. More... | |
![]() | |
virtual void | Construct (const FbxObject *pFrom) |
Optional constructor override, automatically called by default constructor. More... | |
virtual void | ConstructProperties (bool pForceSet) |
Optional property constructor override, automatically called by default constructor. More... | |
virtual void | Destruct (bool pRecursive) |
Optional destructor override, automatically called by default destructor. More... | |
virtual void | ContentClear () |
Clears this object's content from memory. More... | |
virtual FbxPeripheral * | GetPeripheral () |
Retrieves the peripheral of that object. More... | |
enum EDisplayLevel |
types to determine how to display nodes in LODGroup.
Enumerator | |
---|---|
eUseLOD | |
eShow | |
eHide |
Definition at line 67 of file fbxlodgroup.h.
|
virtual |
Return the type of node attribute which is EType::eLODGroup.
Reimplemented from FbxNodeAttribute.
int GetNumThresholds | ( | ) | const |
Get the size of the threshold list.
In correct situation, the size is less one than LOD nodes number.
bool AddThreshold | ( | FbxDistance | pThreshValue | ) |
Add a new threshold value to the current list.
pThreshValue | Threshold distance from the previous entry in the threshold list |
bool SetThreshold | ( | int | pEl, |
FbxDistance | pThreshValue | ||
) |
Set the threshold value for the specified object.
pEl | The index of the object we want to set the threshold. |
pThreshValue | Threshold distance from the previous entry in the threshold list |
bool GetThreshold | ( | int | pEl, |
FbxDistance & | pThreshValue | ||
) | const |
Get the threshold value for the specified object.
pEl | The index of the object we want to get the threshold. |
pThreshValue | the current threshold value. |
int GetNumDisplayLevels | ( | ) | const |
Get the size of the displayLevel list.
In correct situation, the size is equal to LOD nodes number.
bool AddDisplayLevel | ( | FbxLODGroup::EDisplayLevel | pValue | ) |
Add a new displayLevel value to the current list.
The value overrides the display of any level and can force it to hide or show the object at that level. For example, if the distance between the group and the camera is smaller than the first threshold, then the object at level 0 is visible. If the display level for the object at level 2 is changed to eShow, ie. if the attribute displayLevel[2] is set to eShow, then the object at level 2 will show, regardless of the current active level.
pValue | Display level value |
bool SetDisplayLevel | ( | int | pEl, |
FbxLODGroup::EDisplayLevel | pValue | ||
) |
Set the display level value for the specified object.
pEl | The index of the object we want to set the display level. |
pValue | New display level value |
bool GetDisplayLevel | ( | int | pEl, |
FbxLODGroup::EDisplayLevel & | pValue | ||
) | const |
Get the display level value for the specified object.
pEl | The index of the object we want to get the display level value. |
pValue | the current display level value. |
FbxPropertyT<FbxBool> MinMaxDistance |
This property handles the use of the Min/Max distances.
Enables the minimum and maximum distance to take effect. For example, if the distance between the group and the camera is smaller than the minimum distance, then the whole group disappears.
To access this property do: MinMaxDistance.Get(). To set this property do: MinMaxDistance.Set(bool).
Default value is false.
Definition at line 90 of file fbxlodgroup.h.
FbxPropertyT<FbxDouble> MinDistance |
The minimum distance at which the group is displayed.
To access this property do: MinDistance.Get(). To set this property do: MinDistance.Set(double).
Default value is -100
Definition at line 99 of file fbxlodgroup.h.
FbxPropertyT<FbxDouble> MaxDistance |
The maximum distance at which the group is displayed.
To access this property do: MaxDistance.Get(). To set this property do: MaxDistance.Set(double).
Default value is 100
Definition at line 108 of file fbxlodgroup.h.
FbxPropertyT<FbxBool> WorldSpace |
Work in world space of transform or local space If true, the camera distance to the LOD group will be computed in world space.
This means it is possible to parent the LOD transform below other transforms and still have it work as expected. If this attribute is set to false, the distance computation ignores any parent transforms of the LOD transform.
To access this property do: WorldSpace.Get(). To set this property do: WorldSpace.Set(bool).
Default value is false
Definition at line 121 of file fbxlodgroup.h.