![]() |
Simplygon C++ API
8.3.35800.0
|
#include <SimplygonSDK.h>
Public Member Functions | |
virtual CountedPointer< IValueArray > | AddBaseTypeUserTriangleField (rid base_type, const char *name, unsigned int tuple_size)=0 |
virtual CountedPointer< IValueArray > | AddBaseTypeUserVertexField (rid base_type, const char *name, unsigned int tuple_size)=0 |
virtual SGDEPRECATED void | AddBitangents (rid level)=0 |
virtual void | AddBoneWeights (unsigned int tuplesize)=0 |
virtual void | AddColors (rid level)=0 |
virtual SGDEPRECATED void | AddDiffuseColors ()=0 |
virtual void | AddGroupIds ()=0 |
virtual void | AddMaterialIds ()=0 |
virtual void | AddNormals ()=0 |
virtual SGDEPRECATED void | AddSpecularColors ()=0 |
virtual void | AddTangents (rid level)=0 |
virtual void | AddTexCoords (rid level)=0 |
virtual void | AddTriangles (unsigned int count)=0 |
virtual void | AddUserTriangleField (IValueArray *field)=0 |
virtual void | AddUserVertexField (IValueArray *field)=0 |
virtual void | AddVertexLocks ()=0 |
virtual void | AddVertexWeighting ()=0 |
virtual void | AddVertices (unsigned int count)=0 |
virtual int | AppendPackedGeometry (IGeometryData *source, IRidArray *NewVertexIds, bool collapseToOriginalVertices)=0 |
virtual void | DeepCopy (IPackedGeometryData *source, bool copy_data)=0 |
virtual CountedPointer< IRealArray > | GetBitangents (rid level)=0 |
virtual CountedPointer< IRidArray > | GetBoneIds ()=0 |
virtual CountedPointer< IRealArray > | GetBoneWeights ()=0 |
virtual const char * | GetClass () |
virtual CountedPointer< IRealArray > | GetColors (rid level)=0 |
virtual CountedPointer< IRealArray > | GetCoords ()=0 |
virtual SGDEPRECATED CountedPointer< IRealArray > | GetDiffuseColors ()=0 |
virtual CountedPointer< IRidArray > | GetGroupIds ()=0 |
virtual void | GetInf (real *realReturnDataPtr)=0 |
virtual CountedPointer< IRidArray > | GetMaterialIds ()=0 |
virtual CountedPointer< IRealArray > | GetNormals ()=0 |
virtual SGDEPRECATED CountedPointer< IRealArray > | GetSpecularColors ()=0 |
virtual void | GetSup (real *realReturnDataPtr)=0 |
virtual CountedPointer< IRealArray > | GetTangents (rid level)=0 |
virtual CountedPointer< IRealArray > | GetTexCoords (rid level)=0 |
virtual unsigned int | GetTriangleCount ()=0 |
virtual CountedPointer< IFieldData > | GetTriangles ()=0 |
virtual CountedPointer< IValueArray > | GetUserTriangleField (const char *name)=0 |
virtual CountedPointer< IValueArray > | GetUserVertexField (const char *name)=0 |
virtual unsigned int | GetVertexCount ()=0 |
virtual CountedPointer< IRidArray > | GetVertexIds ()=0 |
virtual CountedPointer< IBoolArray > | GetVertexLocks ()=0 |
virtual CountedPointer< IRealArray > | GetVertexWeighting ()=0 |
virtual CountedPointer< IFieldData > | GetVertices ()=0 |
virtual bool | IsA (const char *type) const |
virtual CountedPointer< IPackedGeometryData > | NewCopy (bool copy_data)=0 |
virtual CountedPointer< IGeometryData > | NewUnpackedCopy ()=0 |
virtual SGDEPRECATED void | RemoveBitangents (rid level)=0 |
virtual void | RemoveBoneWeights ()=0 |
virtual void | RemoveColors (rid level)=0 |
virtual SGDEPRECATED void | RemoveDiffuseColors ()=0 |
virtual void | RemoveGroupIds ()=0 |
virtual void | RemoveMaterialIds ()=0 |
virtual void | RemoveNormals ()=0 |
virtual SGDEPRECATED void | RemoveSpecularColors ()=0 |
virtual void | RemoveTangents (rid level)=0 |
virtual void | RemoveTexCoords (rid level)=0 |
virtual void | RemoveUserTriangleField (const char *name)=0 |
virtual void | RemoveUserVertexField (const char *name)=0 |
virtual void | RemoveVertexLocks ()=0 |
virtual void | RemoveVertexWeighting ()=0 |
virtual void | SetInf (const real *vec_realInputDataPtr)=0 |
virtual void | SetSup (const real *vec_realInputDataPtr)=0 |
virtual void | SetTriangleCount (unsigned int count)=0 |
virtual void | SetVertexCount (unsigned int count)=0 |
![]() | |
virtual rid | AddObserver (robserver *Observer, rid EventId)=0 |
virtual void | AddRef ()=0 |
virtual rstring | GetName ()=0 |
virtual void * | GetUserComponentArea (rid userid)=0 |
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 IPackedGeometryData * | SafeCast (IObject *ptr) |
![]() | |
static bool | IsClassA (const char *type) |
static IObject * | SafeCast (IObject *ptr) |
IPackedGeometryData keeps the same information as IGeometryData, but with all corner data fields moved into per-vertex fields. No per-corner fields exist, apart from the VertexIds field. Please note that the number of vertices in an IPackedGeometryData is commonly higher than in an IGeometryData, as vertices must be split to accommodate for different corner data.
Definition at line 6087 of file SimplygonSDK.h.
|
pure virtual |
Adds an empty user-specified triangle field. To be able to add a field, it must have a name that does not conflict with the existing triangle fields.
base_type | is the type of data in the field, the alternatives can be found in SimplygonSDK::BaseTypes |
name | is the name of the new field |
tuple_size | is the tuple size of the new field |
|
pure virtual |
Adds an empty user-specified vertex field. To be able to add a field, it must have a name that does not conflict with the existing vertex fields.
base_type | is the type of data in the field, the alternatives can be found in SimplygonSDK::BaseTypes |
name | is the name of the new field |
tuple_size | is the tuple size of the new field |
|
pure virtual |
level | is the level of the new field |
|
pure virtual |
Adds the BoneWeights and BoneIds fields in the vertices. The BoneWeights and BoneIds fields are added and removed in unison, and should always be the same tuple size.
(Field names: "BoneWeights" & "BoneIds", Tuple size: varying , Stored as: Vertex attribute)
tuplesize | is the size of the tuples in the new bone weight and bone id field |
|
pure virtual |
Adds a Color field in the vertices. The valid id range of the level parameter is 0-255, which equals fields 'Colors0' - 'Colors255'
(Field name: "Colors0"
level | is the level of the Color field to add |
|
pure virtual |
|
pure virtual |
Adds the GroupIds field in the triangles.
(Field name: "GroupIds", Tuple size: 1 , Stored as: triangle attribute)
|
pure virtual |
Adds the MaterialIds field in the triangles.
(Field name: "MaterialIds", Tuple size: 1 , Stored as: triangle attribute)
|
pure virtual |
Adds the Normals field in the vertices.
(Field name: "Normals" , Tuple size: 3 , Stored as: Vertex attribute)
|
pure virtual |
|
pure virtual |
Adds a Tangents field in the vertices.
(Field name: "Tangents0" - "Tangents255" & "Bitangents0" - "Bitangents255", Tuple size: 3 , Stored as: Vertex attribute)
level | is the level of the new tangent fields |
|
pure virtual |
Adds a TexCoords field in the vertices. The valid id range of the level parameter is 0-255, which equals fields 'TexCoords0' - 'TexCoords255'
(Field name: "TexCoords0" - "TexCoords255", Tuple size: 2 , Stored as: Vertex attribute)
level | is the level of the new texcoord field |
|
pure virtual |
Increases the triangle count by the specified value.
count | is the number of triangles to add |
|
pure virtual |
Adds a user-specified triangle field from an already populated array. To be able to add a field, it must have a name that does not conflict with the existing triangle fields.
field | is the array that is to be added |
|
pure virtual |
Adds a user-specified vertex field from an already populated value array. To be able to add a field, it must have a name that does not conflict with the existing vertex fields.
field | is the field that is to be added |
|
pure virtual |
Adds the VertexLocks field for the vertices. If the value for a vertex is true, then the vertex should be locked, and not be removed in the collapse-process.
(Field name: "VertexLocks", Tuple size: 1 , Stored as: Vertex attribute)
|
pure virtual |
Adds the VertexWeighting field for the vertices.
(Field name: "VertexWeighting", Tuple size: 1 , Stored as: Vertex attribute)
|
pure virtual |
AddVertices increases the vertex count by the specified value.
count | is the number of vertices to add |
|
pure virtual |
Appends all vertex-tuples in "source" that don't already exists in the current GeometryData. For each vertex field in this PackedGeometryData, the "source" must contain a corresponding vertex or corner field. All extra-fields in "source" will be skipped however. Returns the number of new and unique vertices created, and the NewVertexIds will contain the indices for the triangles of the "source" Geometry. The VertexIds of the current GeometryData will still be valid. If collapseToOriginalVertices is set to true, all vertices from source will be collapsed to the closest matching vertex of the current geometry. This means that no new vertices will be added, so the returned value will always be 0. If the "NewVertexIds"-array is not initiated before send into this function, it will do nothing and return -1 instead, as error value. The method does not append triangle ids or triangle field data from "source" to the current object.
source | is the geometry from which to append |
NewVertexIds | will be written to and contain the indices for the appended geometries triangles |
collapseToOriginalVertices | will determine if the appended vertices are collapsed to existing ones or not |
|
pure virtual |
Copies the field setup and data from another object. To only copy the setup, set copy_data to false.
source | is the source from which the data will be copied |
copy_data | is the bool determining whether to copy the data or just the field setup |
|
pure virtual |
Gets a Bitangents field in the vertices.
(Field name: "Tangents0" - "Tangents255" & "Bitangents0" - "Bitangents255", Tuple size: 3 , Stored as: Vertex attribute)
level | is the level of the bitangent field to get |
|
pure virtual |
Gets the BoneIds field.
(Field name: "BoneIds", Tuple size: varying , Stored as: Vertex attribute)
|
pure virtual |
Gets the BoneWeights field.
(Field name: "BoneWeights", Tuple size: varying , Stored as: Vertex attribute)
|
virtual |
GetClass returns the name of the class of the object.
Reimplemented from SimplygonSDK::IObject.
|
pure virtual |
Gets a Color field in the vertices. The valid id range of the level parameter is 0-255, which equals fields 'Colors0' - 'Colors255'
(Field name: "Colors0"
level | is the level of the Colors field to get |
|
pure virtual |
Gets the Coords field in the vertices.
(Field name: "Coords", Tuple size: 3 , Stored as: Vertex attribute)
|
pure virtual |
|
pure virtual |
Gets the GroupIds field in the triangles.
(Field name: "GroupIds", Tuple size: 1 , Stored as: triangle attribute)
|
pure virtual |
Get the inferior (minimum) extent of the geometry
realReturnDataPtr | pointer to a user-provided data area to receive the return value. Note! Needs to be at least 3 elements in size |
|
pure virtual |
Gets the MaterialIds field in the triangles.
(Field name: "MaterialIds", Tuple size: 1 , Stored as: triangle attribute)
|
pure virtual |
Gets the Normals field in the vertices.
(Field name: "Normals" , Tuple size: 3 , Stored as: Vertex attribute)
|
pure virtual |
|
pure virtual |
Get the superior (maximum) extent of the geometry
realReturnDataPtr | pointer to a user-provided data area to receive the return value. Note! Needs to be at least 3 elements in size |
|
pure virtual |
Gets a Tangents field in the vertices.
(Field name: "Tangents0" - "Tangents255" & "Bitangents0" - "Bitangents255", Tuple size: 3 , Stored as: Vertex attribute)
level | is the level of the tangent field to get |
|
pure virtual |
Adds/Removes/Gets a TexCoords field in the vertices. The valid id range of the level parameter is 0-255, which equals fields 'TexCoords0' - 'TexCoords255'
(Field name: "TexCoords0" - "TexCoords255", Tuple size: 2 , Stored as: Vertex attribute)
level | is the level of the texcoord field to get |
|
pure virtual |
Gets the number of triangles in the geometry.
|
pure virtual |
Retrieves the ReFieldData object that contains the triangle fields
|
pure virtual |
Gets a user-specified triangle field. To be able to add a field, it must have a name that does not conflict with the existing triangle fields.
name | name of the field to be fetched |
|
pure virtual |
Gets a user-specified vertex field.
name | is the name of the field to be fetched |
|
pure virtual |
Gets the number of vertices in the geometry.
|
pure virtual |
Gets the VertexIds field in the triangles.
|
pure virtual |
Gets the VertexLocks field for the vertices. If the value for a vertex is true, then the vertex should be locked, and not be removed in the collapse-process.
(Field name: "VertexLocks", Tuple size: 1 , Stored as: Vertex attribute)
|
pure virtual |
Gets the VertexWeighting field for the vertices.
(Field name: "VertexWeighting", Tuple size: 1 , Stored as: Vertex attribute)
|
pure virtual |
Retrieves the IFieldData object that contains the vertex fields
|
virtual |
The IsA function returns true if the object is a or is a descendant of the class named as the type parameter
type | is the name of the class to check if the object is, or is a descendant of |
Reimplemented from SimplygonSDK::IObject.
|
inlinestatic |
The IsClassA function returns true if IPackedGeometryData is a or is a descendant of the class named as the type parameter
type | is the name of the class to check if the class is, or is a descendant of |
Definition at line 6108 of file SimplygonSDK.h.
|
pure virtual |
Creates another geometry data object with the same field setup. To also copy the data to the new object, set copy_data to true.
copy_data | determines if the data is included in the new copy |
|
pure virtual |
Creates an "unpacked" ReGeometryData object. Please note that since the data in the RePackedGeometryData structure is per-vertex, you may have to weld the resulting ReGeometryData to remove vertices with the same spatial coordinates.
|
pure virtual |
level | is the level of the field to be removed |
|
pure virtual |
Removes the BoneWeights and BoneIds fields in the vertices. The BoneWeights and BoneIds fields are added and removed in unison, and should always be the same tuple size.
(Field names: "BoneWeights" & "BoneIds", Tuple size: varying , Stored as: Vertex attribute)
|
pure virtual |
Removes a Color field in the vertices. The valid id range of the level parameter is 0-255, which equals fields 'Colors0' - 'Colors255'
(Field name: "Colors0"
level | is the level of the Color field to remove |
|
pure virtual |
|
pure virtual |
Removes the GroupIds field in the triangles.
(Field name: "GroupIds", Tuple size: 1 , Stored as: triangle attribute)
|
pure virtual |
Removes the MaterialIds field in the triangles.
(Field name: "MaterialIds", Tuple size: 1 , Stored as: triangle attribute)
|
pure virtual |
Removes the Normals field in the vertices.
(Field name: "Normals" , Tuple size: 3 , Stored as: Vertex attribute)
|
pure virtual |
|
pure virtual |
Removes a Tangents field in the vertices.
(Field name: "Tangents0" - "Tangents255" & "Bitangents0" - "Bitangents255", Tuple size: 3 , Stored as: Vertex attribute)
level | is the level of the tangent fields to remove |
|
pure virtual |
Removes a TexCoords field in the vertices. The valid id range of the level parameter is 0-255, which equals fields 'TexCoords0' - 'TexCoords255'
(Field name: "TexCoords0" - "TexCoords255", Tuple size: 2 , Stored as: Vertex attribute)
level | is the level of the texcoord field to remove |
|
pure virtual |
Removes a user-specified triangle field. To be able to add a field, it must have a name that does not conflict with the existing triangle fields.
name | name of the field to be removed |
|
pure virtual |
Removes a user-specified vertex field.
name | is the name of the field that is to be removed |
|
pure virtual |
Removes the VertexLocks field for the vertices. If the value for a vertex is true, then the vertex should be locked, and not be removed in the collapse-process.
(Field name: "VertexLocks", Tuple size: 1 , Stored as: Vertex attribute)
|
pure virtual |
Removes the VertexWeighting field for the vertices.
(Field name: "VertexWeighting", Tuple size: 1 , Stored as: Vertex attribute)
|
inlinestatic |
SafeCast makes sure the pointer is of a class that can be cast into a IPackedGeometryData pointer, and if this is possible, returns the cast pointer.
ptr | is the pointer to be cast into a IPackedGeometryData pointer |
Definition at line 6121 of file SimplygonSDK.h.
|
pure virtual |
Set the inferior (minimum) extent of the geometry
vec_realInputDataPtr | is the values that the minimum extent of the geometry is to be set to |
|
pure virtual |
Set the superior (maximum) extent of the geometry
vec_realInputDataPtr | is the values that the maximum extent of the geometry is to be set to |
|
pure virtual |
Sets the number of triangles in the geometry.
count | is the number of triangles to add. Value cannot be less than 0. Value cannot be greater than INT_MAX. |
|
pure virtual |
Sets the number of vertices in the geometry.
count | is the new vertexcount. Value cannot be less than 0. Value cannot be greater than INT_MAX. |