APEX NvParameterized Schemas: ClothingPhysicalMeshParameters Struct Reference

NVIDIA APEX

ClothingPhysicalMeshParameters Struct Reference

Describes the NxParameterized::Interface for 'ClothingPhysicalMeshParameters' : More...

#include <params.h>

List of all members.

Public Attributes

U32 physicalMesh.numVertices
 'physicalMesh.numVertices' : Number of vertices of this mesh
U32 physicalMesh.numIndices
 'physicalMesh.numIndices' : Number of indices of this mesh
U32 physicalMesh.numBonesPerVertex
 'physicalMesh.numBonesPerVertex' : Number of bone weights/indices per vertex
Vec3 physicalMesh.vertices[]
 'physicalMesh.vertices[]' : Array of vertices
Vec3 physicalMesh.normals[]
 'physicalMesh.normals[]' : Array of normals
Vec3 physicalMesh.skinningNormals[]
 'physicalMesh.skinningNormals[]' : Array of skinning normals
F32 physicalMesh.constrainCoefficients[].maxDistance
 'physicalMesh.constrainCoefficients[].maxDistance' : Maximum distance this vertex is allowed to travel from its skinned position.
F32 physicalMesh.constrainCoefficients[].collisionSphereRadius
 'physicalMesh.constrainCoefficients[].collisionSphereRadius' : Size of the Backstop collision sphere.
F32 physicalMesh.constrainCoefficients[].collisionSphereDistance
 'physicalMesh.constrainCoefficients[].collisionSphereDistance' : Distance of the Backstop collision sphere.
U16 physicalMesh.boneIndices[]
 'physicalMesh.boneIndices[]' : The bone indices per vertex
F32 physicalMesh.boneWeights[]
 'physicalMesh.boneWeights[]' : The bone weights per vertex
U8 physicalMesh.optimizationData[]
 'physicalMesh.optimizationData[]' : Per Vertex Number of boneweights > 0, bool if it has negative collision distance
Bool physicalMesh.hasNegativeBackstop
 'physicalMesh.hasNegativeBackstop' : True if at least 1 has negative collision distance
Bool physicalMesh.isClosed
 'physicalMesh.isClosed' : True if all edges have two adjacent triangles
U32 physicalMesh.indices[]
 'physicalMesh.indices[]' : The index buffer
F32 physicalMesh.maximumMaxDistance
 'physicalMesh.maximumMaxDistance' : The maximum max-distance value for all the vertices.
U32 physicalMesh.physicalMeshSorting
 'physicalMesh.physicalMeshSorting' : Physical mesh sorting
F32 physicalMesh.shortestEdgeLength
 'physicalMesh.shortestEdgeLength' : Mesh statistic, only needed for debug rendering.
F32 physicalMesh.averageEdgeLength
 'physicalMesh.averageEdgeLength' : Mesh statistic, useful for selecting the thickness of the mesh-mesh skinning.
Bool physicalMesh.isTetrahedralMesh
 'physicalMesh.isTetrahedralMesh' : Are we storing triangles or tetrahedrons in this mesh.
Bool physicalMesh.flipNormals
 'physicalMesh.flipNormals' : True when the model has been transformed to left-handed space.
U32 submeshes[].numIndices
 'submeshes[].numIndices' : Size of the index buffer
U32 submeshes[].numVertices
 'submeshes[].numVertices' : Size of the vertex buffers
U32 submeshes[].numMaxDistance0Vertices
 'submeshes[].numMaxDistance0Vertices' : Number of vertices that have max distance set to 0 in this submesh.
U32 physicalLods[].costWithoutIterations
 'physicalLods[].costWithoutIterations' : costs are numVertices * numSolverIterations. This is numVertices
U32 physicalLods[].submeshId
 'physicalLods[].submeshId' : Index of the Submesh that belongs to this LoD.
F32 physicalLods[].solverIterationScale
 'physicalLods[].solverIterationScale' : Take only a fraction of the Mesh's solver iterations for this LoD.
F32 physicalLods[].maxDistanceReduction
 'physicalLods[].maxDistanceReduction' : The amount of maxDistance that gets subtracted when this LoD is active.
Vec3 transitionUpB[].vtxTetraBary
 'transitionUpB[].vtxTetraBary' : The barycentric coordinate into the implicit tetrahedron.
U32 transitionUpB[].vertexIndexPlusOffset
 'transitionUpB[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).
Vec3 transitionUpB[].nrmTetraBary
 'transitionUpB[].nrmTetraBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.
U32 transitionUpB[].faceIndex0
 'transitionUpB[].faceIndex0' : First index of the 3 consecutive indices making the physical triangle.
U32 transitionUpB[].tetraIndex
 'transitionUpB[].tetraIndex' : Selects which of the 6 implicit tetrahedrons is used for the mapping.
U32 transitionUpB[].submeshIndex
 'transitionUpB[].submeshIndex' : Index into which Physical Submesh/LoD this element of the mapping belongs to.
Vec3 transitionUp[].vertexBary
 'transitionUp[].vertexBary' : The barycentric coordinate into the triangle.
U32 transitionUp[].vertexIndex0
 'transitionUp[].vertexIndex0' : Vertex index of the physics triangle.
Vec3 transitionUp[].normalBary
 'transitionUp[].normalBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.
U32 transitionUp[].vertexIndex1
 'transitionUp[].vertexIndex1' : Vertex index of the physics triangle.
Vec3 transitionUp[].tangentBary
 'transitionUp[].tangentBary' : The barycentric coordinate of (position+tangent). When position is subtracted this will result in the tangent again.
U32 transitionUp[].vertexIndex2
 'transitionUp[].vertexIndex2' : Vertex index of the physics triangle.
U32 transitionUp[].vertexIndexPlusOffset
 'transitionUp[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).
F32 transitionUpThickness
 'transitionUpThickness' : The thickness of the transition map
F32 transitionUpOffset
 'transitionUpOffset' : The normal offset of the transition map
Vec3 transitionDownB[].vtxTetraBary
 'transitionDownB[].vtxTetraBary' : The barycentric coordinate into the implicit tetrahedron.
U32 transitionDownB[].vertexIndexPlusOffset
 'transitionDownB[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).
Vec3 transitionDownB[].nrmTetraBary
 'transitionDownB[].nrmTetraBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.
U32 transitionDownB[].faceIndex0
 'transitionDownB[].faceIndex0' : First index of the 3 consecutive indices making the physical triangle.
U32 transitionDownB[].tetraIndex
 'transitionDownB[].tetraIndex' : Selects which of the 6 implicit tetrahedrons is used for the mapping.
U32 transitionDownB[].submeshIndex
 'transitionDownB[].submeshIndex' : Index into which Physical Submesh/LoD this element of the mapping belongs to.
Vec3 transitionDown[].vertexBary
 'transitionDown[].vertexBary' : The barycentric coordinate into the triangle.
U32 transitionDown[].vertexIndex0
 'transitionDown[].vertexIndex0' : Vertex index of the physics triangle.
Vec3 transitionDown[].normalBary
 'transitionDown[].normalBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.
U32 transitionDown[].vertexIndex1
 'transitionDown[].vertexIndex1' : Vertex index of the physics triangle.
Vec3 transitionDown[].tangentBary
 'transitionDown[].tangentBary' : The barycentric coordinate of (position+tangent). When position is subtracted this will result in the tangent again.
U32 transitionDown[].vertexIndex2
 'transitionDown[].vertexIndex2' : Vertex index of the physics triangle.
U32 transitionDown[].vertexIndexPlusOffset
 'transitionDown[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).
F32 transitionDownThickness
 'transitionDownThickness' : The thickness of the transition map
F32 transitionDownOffset
 'transitionDownOffset' : The normal offset of the transition map
U32 referenceCount
 'referenceCount' : Only used internally, do not modify

Detailed Description

Describes the NxParameterized::Interface for 'ClothingPhysicalMeshParameters' :

ClothingPhysicalMeshParameters contains 73 fully qualified names
---------------------------------------------
  1 : U32            physicalMesh.numVertices                                      
  2 : U32            physicalMesh.numIndices                                       
  3 : U32            physicalMesh.numBonesPerVertex                                
  4 : ArraySizeName  vertices                                                      
  5 : Vec3           physicalMesh.vertices[]                                       
  6 : ArraySizeName  normals                                                       
  7 : Vec3           physicalMesh.normals[]                                        
  8 : ArraySizeName  skinningNormals                                               
  9 : Vec3           physicalMesh.skinningNormals[]                                
 10 : ArraySizeName  constrainCoefficients                                         
 11 : F32            physicalMesh.constrainCoefficients[].maxDistance              
 12 : F32            physicalMesh.constrainCoefficients[].collisionSphereRadius    
 13 : F32            physicalMesh.constrainCoefficients[].collisionSphereDistance  
 14 : ArraySizeName  boneIndices                                                   
 15 : U16            physicalMesh.boneIndices[]                                    
 16 : ArraySizeName  boneWeights                                                   
 17 : F32            physicalMesh.boneWeights[]                                    
 18 : ArraySizeName  optimizationData                                              
 19 : U8             physicalMesh.optimizationData[]                               
 20 : Bool           physicalMesh.hasNegativeBackstop                              
 21 : Bool           physicalMesh.isClosed                                         
 22 : ArraySizeName  indices                                                       
 23 : U32            physicalMesh.indices[]                                        
 24 : F32            physicalMesh.maximumMaxDistance                               
 25 : U32            physicalMesh.physicalMeshSorting                              
 26 : F32            physicalMesh.shortestEdgeLength                               
 27 : F32            physicalMesh.averageEdgeLength                                
 28 : Bool           physicalMesh.isTetrahedralMesh                                
 29 : Bool           physicalMesh.flipNormals                                      
 30 : ArraySizeName  submeshes                                                     
 31 : U32            submeshes[].numIndices                                        
 32 : U32            submeshes[].numVertices                                       
 33 : U32            submeshes[].numMaxDistance0Vertices                           
 34 : ArraySizeName  physicalLods                                                  
 35 : U32            physicalLods[].costWithoutIterations                          
 36 : U32            physicalLods[].submeshId                                      
 37 : F32            physicalLods[].solverIterationScale                           
 38 : F32            physicalLods[].maxDistanceReduction                           
 39 : ArraySizeName  transitionUpB                                                 
 40 : Vec3           transitionUpB[].vtxTetraBary                                  
 41 : U32            transitionUpB[].vertexIndexPlusOffset                         
 42 : Vec3           transitionUpB[].nrmTetraBary                                  
 43 : U32            transitionUpB[].faceIndex0                                    
 44 : U32            transitionUpB[].tetraIndex                                    
 45 : U32            transitionUpB[].submeshIndex                                  
 46 : ArraySizeName  transitionUp                                                  
 47 : Vec3           transitionUp[].vertexBary                                     
 48 : U32            transitionUp[].vertexIndex0                                   
 49 : Vec3           transitionUp[].normalBary                                     
 50 : U32            transitionUp[].vertexIndex1                                   
 51 : Vec3           transitionUp[].tangentBary                                    
 52 : U32            transitionUp[].vertexIndex2                                   
 53 : U32            transitionUp[].vertexIndexPlusOffset                          
 54 : F32            transitionUpThickness                                         
 55 : F32            transitionUpOffset                                            
 56 : ArraySizeName  transitionDownB                                               
 57 : Vec3           transitionDownB[].vtxTetraBary                                
 58 : U32            transitionDownB[].vertexIndexPlusOffset                       
 59 : Vec3           transitionDownB[].nrmTetraBary                                
 60 : U32            transitionDownB[].faceIndex0                                  
 61 : U32            transitionDownB[].tetraIndex                                  
 62 : U32            transitionDownB[].submeshIndex                                
 63 : ArraySizeName  transitionDown                                                
 64 : Vec3           transitionDown[].vertexBary                                   
 65 : U32            transitionDown[].vertexIndex0                                 
 66 : Vec3           transitionDown[].normalBary                                   
 67 : U32            transitionDown[].vertexIndex1                                 
 68 : Vec3           transitionDown[].tangentBary                                  
 69 : U32            transitionDown[].vertexIndex2                                 
 70 : U32            transitionDown[].vertexIndexPlusOffset                        
 71 : F32            transitionDownThickness                                       
 72 : F32            transitionDownOffset                                          
 73 : U32            referenceCount                                                

Member Data Documentation

'physicalLods[].costWithoutIterations' : costs are numVertices * numSolverIterations. This is numVertices

'physicalLods[].maxDistanceReduction' : The amount of maxDistance that gets subtracted when this LoD is active.

'physicalLods[].solverIterationScale' : Take only a fraction of the Mesh's solver iterations for this LoD.

'physicalLods[].submeshId' : Index of the Submesh that belongs to this LoD.

'physicalMesh.averageEdgeLength' : Mesh statistic, useful for selecting the thickness of the mesh-mesh skinning.

'physicalMesh.boneIndices[]' : The bone indices per vertex

Note: contains numVertices * numBonesPerVertex elements.

'physicalMesh.boneWeights[]' : The bone weights per vertex

Note: contains numVertices * numBonesPerVertex elements.

'physicalMesh.constrainCoefficients[].collisionSphereDistance' : Distance of the Backstop collision sphere.

'physicalMesh.constrainCoefficients[].collisionSphereRadius' : Size of the Backstop collision sphere.

'physicalMesh.constrainCoefficients[].maxDistance' : Maximum distance this vertex is allowed to travel from its skinned position.

'physicalMesh.flipNormals' : True when the model has been transformed to left-handed space.

'physicalMesh.hasNegativeBackstop' : True if at least 1 has negative collision distance

'physicalMesh.indices[]' : The index buffer

'physicalMesh.isClosed' : True if all edges have two adjacent triangles

'physicalMesh.isTetrahedralMesh' : Are we storing triangles or tetrahedrons in this mesh.

'physicalMesh.maximumMaxDistance' : The maximum max-distance value for all the vertices.

This is used to deduct how much a physical LoD can reduce the max distance.

'physicalMesh.normals[]' : Array of normals

These are the normals provided by the user. The mesh-mesh skinning will try to restore them as good as possible throughout simulation. Note, they can differ from the skinningNormals quite drastically.

'physicalMesh.numBonesPerVertex' : Number of bone weights/indices per vertex

'physicalMesh.numIndices' : Number of indices of this mesh

'physicalMesh.numVertices' : Number of vertices of this mesh

'physicalMesh.optimizationData[]' : Per Vertex Number of boneweights > 0, bool if it has negative collision distance

Each byte contains info for 2 vertices. bits 0-3: number of actual bones for that vertex (with boneWeight > 0) bit 4: set if that vertex has a negative backstop bits 5-7: same data for next vertex

'physicalMesh.physicalMeshSorting' : Physical mesh sorting

'physicalMesh.shortestEdgeLength' : Mesh statistic, only needed for debug rendering.

'physicalMesh.skinningNormals[]' : Array of skinning normals

These are the normals of the original mesh. They reflect what should come out of physics but the output can be distorted because parts of the simulation mesh are turned off, resulting in wrong normal computation. They are needed for the flags.CorrectSimulationNormals actorflag.

'physicalMesh.vertices[]' : Array of vertices

'referenceCount' : Only used internally, do not modify

'submeshes[].numIndices' : Size of the index buffer

This is only a part of the mesh where all max distances exceed a certain value.

'submeshes[].numMaxDistance0Vertices' : Number of vertices that have max distance set to 0 in this submesh.

'submeshes[].numVertices' : Size of the vertex buffers

This is only a part of the mesh where all max distances exceed a certain value.

'transitionDown[].normalBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.

'transitionDown[].tangentBary' : The barycentric coordinate of (position+tangent). When position is subtracted this will result in the tangent again.

'transitionDown[].vertexBary' : The barycentric coordinate into the triangle.

'transitionDown[].vertexIndex0' : Vertex index of the physics triangle.

'transitionDown[].vertexIndex1' : Vertex index of the physics triangle.

'transitionDown[].vertexIndex2' : Vertex index of the physics triangle.

'transitionDown[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).

'transitionDownB[].faceIndex0' : First index of the 3 consecutive indices making the physical triangle.

'transitionDownB[].nrmTetraBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.

'transitionDownB[].submeshIndex' : Index into which Physical Submesh/LoD this element of the mapping belongs to.

This is only needed during the authoring stage and thus does not need to be serialized.

'transitionDownB[].tetraIndex' : Selects which of the 6 implicit tetrahedrons is used for the mapping.

'transitionDownB[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).

'transitionDownB[].vtxTetraBary' : The barycentric coordinate into the implicit tetrahedron.

'transitionDownOffset' : The normal offset of the transition map

'transitionDownThickness' : The thickness of the transition map

'transitionUp[].normalBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.

'transitionUp[].tangentBary' : The barycentric coordinate of (position+tangent). When position is subtracted this will result in the tangent again.

'transitionUp[].vertexBary' : The barycentric coordinate into the triangle.

'transitionUp[].vertexIndex0' : Vertex index of the physics triangle.

'transitionUp[].vertexIndex1' : Vertex index of the physics triangle.

'transitionUp[].vertexIndex2' : Vertex index of the physics triangle.

'transitionUp[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).

'transitionUpB[].faceIndex0' : First index of the 3 consecutive indices making the physical triangle.

'transitionUpB[].nrmTetraBary' : The barycentric coordinate of (vertex+normal). When vertex is subtracted this will result in the normal again.

'transitionUpB[].submeshIndex' : Index into which Physical Submesh/LoD this element of the mapping belongs to.

This is only needed during the authoring stage and thus does not need to be serialized.

'transitionUpB[].tetraIndex' : Selects which of the 6 implicit tetrahedrons is used for the mapping.

'transitionUpB[].vertexIndexPlusOffset' : The vertex index in the graphical mesh (the target index).

'transitionUpB[].vtxTetraBary' : The barycentric coordinate into the implicit tetrahedron.

'transitionUpOffset' : The normal offset of the transition map

'transitionUpThickness' : The thickness of the transition map


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

Generated on Fri Dec 15 2017 13:59:11

Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.