We'll need to check to see if and how the current maya reader and
writer plug-ins interpret this information.
-stevel
> --
> You received this message because you are subscribed to the Google
> Groups "alembic-discussion" group.
> To post to this group, send email to alembic-d...@googlegroups.com
> To unsubscribe from this group, send email to
> alembic-discuss...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/alembic-discussion?hl=en
>
> For RSS or Atom feeds related to Alembic, see:
>
> http://groups.google.com/group/alembic-dev/feeds
>
> http://groups.google.com/group/alembic-discussion/feeds
>
Scoped (per-vertex/face/shape/etc) arbitrary data is really what the geomParams where made for. If after wider adoption of Alembic it turns out certain things (like color) really should be understood natively (the way we treat UVs or normals), then those are definitely things that can be added in after an initial 1.0 release.
Francois.
To post to this group, send email to alembic-discussion@googlegroups.com
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/alembic-discussion?hl=en
For RSS or Atom feeds related to Alembic, see:
http://groups.google.com/group/alembic-dev/feeds
http://groups.google.com/group/alembic-discussion/feeds
--
You received this message because you are subscribed to the Google
Groups "alembic-discussion" group.
To post to this group, send email to alembic-discussion@googlegroups.com
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/alembic-discussion?hl=en
For RSS or Atom feeds related to Alembic, see:
http://groups.google.com/group/alembic-dev/feeds
http://groups.google.com/group/alembic-discussion/feeds
http://code.google.com/p/alembic/issues/detail?id=197
The idea is that each Schema in AbcGeom will have a method to return a
CompoundProperty called ".userData", and that's the sanctioned place for
"studio-dependent data"/random data. Inside there, you can put any kind
of Property you want (Compound or Simple), and the stock clients will
ignore it.
The customization you'd do on the maya plugin side is to recognize
your name/type convention and act further upon it. You could also
place it in the forthcoming getUserProperties as a GeomParam or any
custom form you'd like.
Apologies again if any of this is remedial, but there are a couple
things I'm struggling to understand, so here we go!If you make it within arbGeomParams, any tool would know
that it's a color-per-vertex -- just not what you specifically want to
do with it in maya.
I'm assuming that this is identified as being color-per-vertex, as
opposed to just some arbitrary list of colors, via the use of a
GeomParam instead of an TypedProperty? Or is there something else
that identifies that a parameter/property is related to verts, faces,
edges, etc?
As for GeomParams, I don't quite understand the some of the arguments
(especially scope) to GeomParam constructor. Is this intended to
classify the components/primitive the parameter is parameterizing? I
read through the GeometryScope header a couple times, but I don't
really understand the impact of specifying one scope or another when
I'm constructing a parameter.
In other words, what is the implication of setting up a color property
under arbGeomParams like this:
AbcGeom::OC4fGeomParam(theArbGeomCompoundProp,
"colorsetname",
false(or True?),
kFacevaryingScope (not sure about this either?),
mesh.numFFaceVertices(),
IPolyMeshSchema &mesh = meshyObj.getSchema();
8 IV3fArrayProperty N( mesh, "N" );
Hi JP, I'm glad Steve sorted you out. If you look at
AbcGeom/IGeomParam.h, there are a few methods to help you out with this.
First and most bluntly, there's the static "matches()" method, which
takes a PropertyHeader or MetaData, and is called like:
// namespace AbcGeom is assumed
// fake example for getting your color data
IC4fGeomParam myColorData = getColorData();
// static function in Foundation.h
IsGeomParam( myColorData.getHeader() ); // returns true
IC4fGeomParam::matches( myColorData.getHeader() ); // returns true
N3fGeomParam::matches( myColorData.getHeader() ); // returns false
Then, moving down in the file, you have the following methods:
AbcA::DataType getDataType()
size_t getArrayExtent()
GeometryScope getScope()
which allow you to figure out what's going on with the datatype
(float32_t, uint64_t, etc.), the extent, and the scope.
-Joe