Points to mesh

Hey all,

Started building a custom mesh function. Just wrapping my head around the mesh / UsdGeomPoints system, which I take is the basis of the mesh “shape” coded as point3f referencing the prim within world frame.

It’ll take me a some time to develop the points system although I’ve already have the basis its just coding the functions together but I would like to get my knowledge of mesh’s in OV a little clearer, so that I dont need to ask stupid questions!

FaceVertexCounts I believe is the array of faces made of 4 points created by linking the points to generate the polygons. 4 being a “square” and 3 being a triangle.

faceVertexIndices being the order of wrapping (connecting) the points. Sort of like a join the dots list?

with the normals being the outward facing vectors the sum of adjoining vertices?

I’m working on a varying curved tube.

Reading the docs CreateTubeTopology stood out to me.

(CreateTubeTopology — Omniverse Extensions documentation)

If I’m reading this correctly

Columns are the amount of points on the radius if it was a 2d circle and rows being the amount on repletion’s of said radii?

While this wouldn’t give me positional data it would solve my faceVertexCounts / faceVertexIndices issue. I could feed the output of the graph back into a read function and get the required face data?

So Columns would be the amount of resolution to the circular element and rows would be the length resolution?
I may have that backwards but I think I’m on the right track here.

If this is the case are normals generated or do they also require to be defined?

Also I’m a little confused on when physxCookedData needs implemented. In a cube mesh the cooked data isn’t included but in a cylinder mesh it does.

Also as I read primvars are meta data, but mainly included texture data. I would take it then that each face has a texture? I’m a little more sketchy on that one so. if anyone knows that be cool. I’m a little confused about how much data I actually need to create a mesh?

Thanks again