Simplygon C++ API  8.3.35800.0
SimplygonSDK::IObject Class Referenceabstract

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IObject:
SimplygonSDK::IArray SimplygonSDK::IChartAggregator SimplygonSDK::IChunkedImageData SimplygonSDK::IDirectXRenderer SimplygonSDK::IFieldData SimplygonSDK::IGeometryData SimplygonSDK::IGeometryValidator SimplygonSDK::IGraphicsExporter SimplygonSDK::IGraphicsImporter SimplygonSDK::IImageComparer SimplygonSDK::IImageData SimplygonSDK::IImageDataExporter SimplygonSDK::IImageDataImporter SimplygonSDK::IMappingImage SimplygonSDK::IMappingImageMeshData SimplygonSDK::IMaterial SimplygonSDK::IMatrix4x4 SimplygonSDK::IObjectCollection SimplygonSDK::IPackedGeometryData SimplygonSDK::IParameterizer SimplygonSDK::IPartRemover SimplygonSDK::IPipeline SimplygonSDK::IPipelineSerializer SimplygonSDK::IProcessingObject SimplygonSDK::IRecommendedTextureSizeCalculator SimplygonSDK::IScene SimplygonSDK::ISceneNode SimplygonSDK::ISelectionSet SimplygonSDK::ISettingsObject SimplygonSDK::IShaderGenerator SimplygonSDK::IShadingNode SimplygonSDK::ISurfaceMapper SimplygonSDK::ITable SimplygonSDK::ITangentCalculator SimplygonSDK::ITexture SimplygonSDK::ITJunctionEliminator SimplygonSDK::ITransform3 SimplygonSDK::IVertexColorBaker

Public Member Functions

virtual rid AddObserver (robserver *Observer, rid EventId)=0
 
virtual void AddRef ()=0
 
virtual const char * GetClass ()
 
virtual rstring GetName ()=0
 
virtual void * GetUserComponentArea (rid userid)=0
 
virtual bool IsA (const char *type) const
 
virtual void PrintInfo ()=0
 
virtual void Release ()=0
 
virtual void RemoveObserver (rid ObserverId)=0
 
virtual void SetName (const char *Name)=0
 

Static Public Member Functions

static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

IObject is the base class for all normal classes defined within the API. The class adds safe casting into any API object, reference counting support (best used with the CountedPointer reference counted pointer class), basic names for all objects, and event handling, using observers (using objects derived from robserver)

Definition at line 1718 of file SimplygonSDK.h.

Member Function Documentation

◆ AddObserver()

virtual rid SimplygonSDK::IObject::AddObserver ( robserver Observer,
rid  EventId 
)
pure virtual

Adds a user-defined observer object to the interface, that will receive any event with the specified EventId from the interface.

Parameters
Observeris the object that will receive events
EventIdthe event id to listen for
Returns
the id of the observer within the API object

◆ AddRef()

virtual void SimplygonSDK::IObject::AddRef ( )
pure virtual

Adds one reference to the object.

◆ GetClass()

virtual const char* SimplygonSDK::IObject::GetClass ( )
virtual

GetClass returns the name of the class of the object.

Returns
the name of the actual class of the object, as a const char string

Reimplemented in SimplygonSDK::IPipelineSettings, SimplygonSDK::IAggregationPipeline, SimplygonSDK::IRemeshingPipeline, SimplygonSDK::IReductionPipeline, SimplygonSDK::IPipelineSerializer, SimplygonSDK::IPipeline, SimplygonSDK::ITJunctionEliminator, SimplygonSDK::IWelder, SimplygonSDK::IPartRemover, SimplygonSDK::IRecommendedTextureSizeCalculator, SimplygonSDK::IImageComparer, SimplygonSDK::IShadowMeshSettings, SimplygonSDK::IShadowMeshProcessor, SimplygonSDK::IFoliageSettings, SimplygonSDK::IFoliageProcessor, SimplygonSDK::IOcclusionMeshSettings, SimplygonSDK::IOcclusionMeshProcessor, SimplygonSDK::ISurfaceMapper, SimplygonSDK::IImpostorSettings, SimplygonSDK::IImpostorProcessor, SimplygonSDK::IAmbientOcclusionCasterSettings, SimplygonSDK::IAmbientOcclusionCaster, SimplygonSDK::IImageDataExporter, SimplygonSDK::IVertexColorBaker, SimplygonSDK::IChartAggregator, SimplygonSDK::IAggregationSettings, SimplygonSDK::IAggregationProcessor, SimplygonSDK::IShaderGenerator, SimplygonSDK::IShadingLessThanNode, SimplygonSDK::IShadingGreaterThanNode, SimplygonSDK::IShadingSinNode, SimplygonSDK::IShadingCosNode, SimplygonSDK::IShadingCross3Node, SimplygonSDK::IShadingDot3Node, SimplygonSDK::IShadingSqrtNode, SimplygonSDK::IShadingNormalize3Node, SimplygonSDK::IShadingLayeredBlendNode, SimplygonSDK::IShadingCustomNode, SimplygonSDK::IShadingInterpolateNode, SimplygonSDK::IShadingVertexColorNode, SimplygonSDK::IShadingNotEqualNode, SimplygonSDK::IShadingEqualNode, SimplygonSDK::IShadingStepNode, SimplygonSDK::IShadingMinNode, SimplygonSDK::IShadingMaxNode, SimplygonSDK::IShadingClampNode, SimplygonSDK::IShadingDivideNode, SimplygonSDK::IShadingPowNode, SimplygonSDK::IShadingMultiplyNode, SimplygonSDK::IShadingSubtractNode, SimplygonSDK::IShadingAddNode, SimplygonSDK::IShadingColorNode, SimplygonSDK::IShadingSwizzlingNode, SimplygonSDK::IShadingTextureNode, SimplygonSDK::IShadingFilterNode, SimplygonSDK::IShadingNode, SimplygonSDK::IMappingImageMeshData, SimplygonSDK::IImageDataImporter, SimplygonSDK::ITextureTable, SimplygonSDK::ITexture, SimplygonSDK::ISelectionSetTable, SimplygonSDK::ISelectionSet, SimplygonSDK::ISceneCamera, SimplygonSDK::IScenePlane, SimplygonSDK::ISceneBoneTable, SimplygonSDK::ISceneBone, SimplygonSDK::ISceneLodGroup, SimplygonSDK::ISceneMesh, SimplygonSDK::ISceneNodeCollection, SimplygonSDK::ISceneNode, SimplygonSDK::IScene, SimplygonSDK::IRemeshingProcessorV2, SimplygonSDK::IRemeshingProcessor, SimplygonSDK::IRemeshingSettingsV2, SimplygonSDK::IRemeshingSettings, SimplygonSDK::IReductionProcessor, SimplygonSDK::IVisibilitySettings, SimplygonSDK::IMappingImageSettings, SimplygonSDK::INormalCalculationSettings, SimplygonSDK::IReductionSettings, SimplygonSDK::IBoneSettings, SimplygonSDK::IRepairSettings, SimplygonSDK::ITangentCalculator, SimplygonSDK::IDisplacementCasterSettings, SimplygonSDK::IDisplacementCaster, SimplygonSDK::INormalRepairer, SimplygonSDK::INormalCasterSettings, SimplygonSDK::INormalCaster, SimplygonSDK::IOpacityCasterSettings, SimplygonSDK::IOpacityCaster, SimplygonSDK::IColorCasterSettings, SimplygonSDK::IColorCaster, SimplygonSDK::IMaterialCasterSettings, SimplygonSDK::IMaterialCaster, SimplygonSDK::ISettingsObject, SimplygonSDK::IGeometryValidator, SimplygonSDK::IBinaryExporter, SimplygonSDK::IBinaryImporter, SimplygonSDK::IWavefrontExporter, SimplygonSDK::IGraphicsExporter, SimplygonSDK::IWavefrontImporter, SimplygonSDK::IGraphicsImporter, SimplygonSDK::IGeometryDataCollection, SimplygonSDK::IObjectCollection, SimplygonSDK::IParameterizer, SimplygonSDK::IProcessingObject, SimplygonSDK::IMappingImage, SimplygonSDK::ITransform3, SimplygonSDK::IMatrix4x4, SimplygonSDK::IMaterialTable, SimplygonSDK::IMaterial, SimplygonSDK::ITable, SimplygonSDK::IImageData, SimplygonSDK::IPackedGeometryData, SimplygonSDK::IGeometryData, SimplygonSDK::IFieldData, SimplygonSDK::IDirectXRenderer, SimplygonSDK::IChunkedImageData, SimplygonSDK::IUnsignedShortArray, SimplygonSDK::IUnsignedLongArray, SimplygonSDK::IUnsignedIntArray, SimplygonSDK::IUnsignedCharArray, SimplygonSDK::IShortArray, SimplygonSDK::IRidArray, SimplygonSDK::IRealArray, SimplygonSDK::ILongArray, SimplygonSDK::IIntArray, SimplygonSDK::IFloatArray, SimplygonSDK::IDoubleArray, SimplygonSDK::ICharArray, SimplygonSDK::IBoolArray, SimplygonSDK::IStringArray, SimplygonSDK::IValueArray, and SimplygonSDK::IArray.

◆ GetName()

virtual rstring SimplygonSDK::IObject::GetName ( )
pure virtual

Gets the name of the object.

Returns
The name of the object

◆ GetUserComponentArea()

virtual void* SimplygonSDK::IObject::GetUserComponentArea ( rid  userid)
pure virtual

◆ IsA()

virtual bool SimplygonSDK::IObject::IsA ( const char *  type) const
virtual

The IsA function returns true if the object is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the object is, or is a descendant of
Returns
true if the object is of the specified class, false if not

Reimplemented in SimplygonSDK::IPipelineSettings, SimplygonSDK::IAggregationPipeline, SimplygonSDK::IRemeshingPipeline, SimplygonSDK::IReductionPipeline, SimplygonSDK::IPipelineSerializer, SimplygonSDK::IPipeline, SimplygonSDK::ITJunctionEliminator, SimplygonSDK::IWelder, SimplygonSDK::IPartRemover, SimplygonSDK::IRecommendedTextureSizeCalculator, SimplygonSDK::IImageComparer, SimplygonSDK::IShadowMeshSettings, SimplygonSDK::IShadowMeshProcessor, SimplygonSDK::IFoliageSettings, SimplygonSDK::IFoliageProcessor, SimplygonSDK::IOcclusionMeshSettings, SimplygonSDK::IOcclusionMeshProcessor, SimplygonSDK::ISurfaceMapper, SimplygonSDK::IImpostorSettings, SimplygonSDK::IImpostorProcessor, SimplygonSDK::IAmbientOcclusionCasterSettings, SimplygonSDK::IAmbientOcclusionCaster, SimplygonSDK::IImageDataExporter, SimplygonSDK::IVertexColorBaker, SimplygonSDK::IChartAggregator, SimplygonSDK::IAggregationSettings, SimplygonSDK::IAggregationProcessor, SimplygonSDK::IShaderGenerator, SimplygonSDK::IShadingLessThanNode, SimplygonSDK::IShadingGreaterThanNode, SimplygonSDK::IShadingSinNode, SimplygonSDK::IShadingCosNode, SimplygonSDK::IShadingCross3Node, SimplygonSDK::IShadingDot3Node, SimplygonSDK::IShadingSqrtNode, SimplygonSDK::IShadingNormalize3Node, SimplygonSDK::IShadingLayeredBlendNode, SimplygonSDK::IShadingCustomNode, SimplygonSDK::IShadingInterpolateNode, SimplygonSDK::IShadingVertexColorNode, SimplygonSDK::IShadingNotEqualNode, SimplygonSDK::IShadingEqualNode, SimplygonSDK::IShadingStepNode, SimplygonSDK::IShadingMinNode, SimplygonSDK::IShadingMaxNode, SimplygonSDK::IShadingClampNode, SimplygonSDK::IShadingDivideNode, SimplygonSDK::IShadingPowNode, SimplygonSDK::IShadingMultiplyNode, SimplygonSDK::IShadingSubtractNode, SimplygonSDK::IShadingAddNode, SimplygonSDK::IShadingColorNode, SimplygonSDK::IShadingSwizzlingNode, SimplygonSDK::IShadingTextureNode, SimplygonSDK::IShadingFilterNode, SimplygonSDK::IShadingNode, SimplygonSDK::IMappingImageMeshData, SimplygonSDK::IImageDataImporter, SimplygonSDK::ITextureTable, SimplygonSDK::ITexture, SimplygonSDK::ISelectionSetTable, SimplygonSDK::ISelectionSet, SimplygonSDK::ISceneCamera, SimplygonSDK::IScenePlane, SimplygonSDK::ISceneBoneTable, SimplygonSDK::ISceneBone, SimplygonSDK::ISceneLodGroup, SimplygonSDK::ISceneMesh, SimplygonSDK::ISceneNodeCollection, SimplygonSDK::ISceneNode, SimplygonSDK::IScene, SimplygonSDK::IRemeshingProcessorV2, SimplygonSDK::IRemeshingProcessor, SimplygonSDK::IRemeshingSettingsV2, SimplygonSDK::IRemeshingSettings, SimplygonSDK::IReductionProcessor, SimplygonSDK::IVisibilitySettings, SimplygonSDK::IMappingImageSettings, SimplygonSDK::INormalCalculationSettings, SimplygonSDK::IReductionSettings, SimplygonSDK::IBoneSettings, SimplygonSDK::IRepairSettings, SimplygonSDK::ITangentCalculator, SimplygonSDK::IDisplacementCasterSettings, SimplygonSDK::IDisplacementCaster, SimplygonSDK::INormalRepairer, SimplygonSDK::INormalCasterSettings, SimplygonSDK::INormalCaster, SimplygonSDK::IOpacityCasterSettings, SimplygonSDK::IOpacityCaster, SimplygonSDK::IColorCasterSettings, SimplygonSDK::IColorCaster, SimplygonSDK::IMaterialCasterSettings, SimplygonSDK::IMaterialCaster, SimplygonSDK::ISettingsObject, SimplygonSDK::IGeometryValidator, SimplygonSDK::IBinaryExporter, SimplygonSDK::IBinaryImporter, SimplygonSDK::IWavefrontExporter, SimplygonSDK::IGraphicsExporter, SimplygonSDK::IWavefrontImporter, SimplygonSDK::IGraphicsImporter, SimplygonSDK::IGeometryDataCollection, SimplygonSDK::IObjectCollection, SimplygonSDK::IParameterizer, SimplygonSDK::IProcessingObject, SimplygonSDK::IMappingImage, SimplygonSDK::ITransform3, SimplygonSDK::IMatrix4x4, SimplygonSDK::IMaterialTable, SimplygonSDK::IMaterial, SimplygonSDK::ITable, SimplygonSDK::IImageData, SimplygonSDK::IPackedGeometryData, SimplygonSDK::IGeometryData, SimplygonSDK::IFieldData, SimplygonSDK::IDirectXRenderer, SimplygonSDK::IChunkedImageData, SimplygonSDK::IUnsignedShortArray, SimplygonSDK::IUnsignedLongArray, SimplygonSDK::IUnsignedIntArray, SimplygonSDK::IUnsignedCharArray, SimplygonSDK::IShortArray, SimplygonSDK::IRidArray, SimplygonSDK::IRealArray, SimplygonSDK::ILongArray, SimplygonSDK::IIntArray, SimplygonSDK::IFloatArray, SimplygonSDK::IDoubleArray, SimplygonSDK::ICharArray, SimplygonSDK::IBoolArray, SimplygonSDK::IStringArray, SimplygonSDK::IValueArray, and SimplygonSDK::IArray.

◆ IsClassA()

static bool SimplygonSDK::IObject::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if the class is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the class is, or is a descendant of
Returns
true if the class is of the specified class, false if not

Definition at line 1739 of file SimplygonSDK.h.

◆ PrintInfo()

virtual void SimplygonSDK::IObject::PrintInfo ( )
pure virtual

PrintInfo prints the contents/info of the object to the log

◆ Release()

virtual void SimplygonSDK::IObject::Release ( )
pure virtual

Releases one reference to the object. When all references have been removed, the object is removed from memory.

◆ RemoveObserver()

virtual void SimplygonSDK::IObject::RemoveObserver ( rid  ObserverId)
pure virtual

Removes a previously added observer object

Parameters
ObserverIdthe id returned by AddObserver when the observer was added

◆ SafeCast()

static IObject* SimplygonSDK::IObject::SafeCast ( IObject ptr)
inlinestatic

SafeCast makes sure the pointer is of a class that can be cast into IObject, and if this is the case, returns the pointer cast into an IObject

Parameters
ptris the pointer to be cast into a pointer to an object of type IObject
Returns
a pointer to IObject, if the cast can be made

Definition at line 1751 of file SimplygonSDK.h.

◆ SetName()

virtual void SimplygonSDK::IObject::SetName ( const char *  Name)
pure virtual

Sets the name of the object.

Parameters
Nameis the new name of the object

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