HdMesh Class Reference

Hydra Schema for a subdivision surface or poly-mesh object. More...

+ Inheritance diagram for HdMesh:

Public Member Functions

bool IsDoubleSided (HdSceneDelegate *delegate) const
 Render State. More...
HdCullStyle GetCullStyle (HdSceneDelegate *delegate) const
VtValue GetShadingStyle (HdSceneDelegate *delegate) const
HdMeshTopology GetMeshTopology (HdSceneDelegate *delegate) const
 Topological accessors via the scene delegate. More...
HdDisplayStyle GetDisplayStyle (HdSceneDelegate *delegate) const
PxOsdSubdivTags GetSubdivTags (HdSceneDelegate *delegate) const
virtual HdMeshTopologySharedPtr GetTopology () const
 Topology getter. More...
VtValue GetPoints (HdSceneDelegate *delegate) const
 Primvars Accessors. More...
VtValue GetNormals (HdSceneDelegate *delegate) const
HD_API TfTokenVector const & GetBuiltinPrimvarNames () const override
 Returns the names of built-in primvars, i.e. More...
- Public Member Functions inherited from HdRprim
HD_API HdRprim (SdfPath const &id)
HD_API const HdRepr::DrawItemUniquePtrVector & GetDrawItems (TfToken const &reprToken) const
 Returns the draw items for the requested repr token, if any. More...
virtual HD_API void Finalize (HdRenderParam *renderParam)
 Finalizes object resources. More...
SdfPath const & GetId () const
 Returns the identifier of this Rprim. More...
int32_t GetPrimId () const
 Return the unique instance id. More...
HD_API void SetPrimId (int32_t primId)
 Set the unique instance id. More...
SdfPath const & GetInstancerId () const
 Returns the identifier of the instancer (if any) for this Rprim. More...
SdfPath const & GetMaterialId () const
 Returns the path of the material to which this Rprim is bound. More...
HD_API void SetMaterialId (SdfPath const &materialId)
 Sets a new material binding to be used by this rprim. More...
HdReprSelector const & GetReprSelector () const
TfToken const & GetRenderTag () const
TfToken GetRenderTag (HdSceneDelegate *delegate) const
 Returns the render tag associated to this rprim. More...
GfRange3d GetExtent (HdSceneDelegate *delegate) const
 Returns the bounds of the rprim in local, untransformed space. More...
HdPrimvarDescriptorVector GetPrimvarDescriptors (HdSceneDelegate *delegate, HdInterpolation interpolation) const
 Primvar Query. More...
VtValue GetPrimvar (HdSceneDelegate *delegate, const TfToken &name) const
VtValue GetIndexedPrimvar (HdSceneDelegate *delegate, const TfToken &name, VtIntArray *indices) const
HD_API VtMatrix4dArray GetInstancerTransforms (HdSceneDelegate *delegate)
HD_API bool IsDirty (HdChangeTracker &changeTracker) const
 Returns true if any dirty flags are set for this rprim. More...
bool IsVisible () const
 Is the prim itself visible. More...
HD_API void UpdateReprSelector (HdSceneDelegate *delegate, HdDirtyBits *dirtyBits)
virtual HD_API void UpdateRenderTag (HdSceneDelegate *delegate, HdRenderParam *renderParam)
virtual HdDirtyBits GetInitialDirtyBitsMask () const =0
 Returns the set of dirty bits that should be added to the change tracker for this prim, when this prim is inserted. More...
HD_API bool CanSkipDirtyBitPropagationAndSync (HdDirtyBits bits) const
 This function gives an Rprim the chance to "early exit" from dirty bit propagation, delegate sync and rprim sync altogether. More...
HD_API HdDirtyBits PropagateRprimDirtyBits (HdDirtyBits bits)
 This function gives an Rprim the chance to set additional dirty bits based on those set in the change tracker, before passing the dirty bits to the scene delegate. More...
HD_API void InitRepr (HdSceneDelegate *delegate, TfToken const &reprToken, HdDirtyBits *dirtyBits)
 Initialize the representation of this Rprim by calling _InitRepr. More...
virtual void Sync (HdSceneDelegate *delegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits, TfToken const &reprToken)=0
 Pull invalidated scene data and prepare/update the renderable representation. More...

Static Public Member Functions

static HD_API void ConfigureRepr (TfToken const &reprName, HdMeshReprDesc desc1, HdMeshReprDesc desc2=HdMeshReprDesc())
 Configure the geometric style of the mesh for a given representation. More...

Protected Types

using _MeshReprConfig = _ReprDescConfigs< HdMeshReprDesc, 2 >
- Protected Types inherited from HdRprim
using _ReprVector = std::vector< std::pair< TfToken, HdReprSharedPtr > >

Protected Member Functions

HD_API HdMesh (SdfPath const &id)
 Constructor. More...
- Protected Member Functions inherited from HdRprim
HD_API HdReprSharedPtr const & _GetRepr (TfToken const &reprToken) const
HD_API void _UpdateVisibility (HdSceneDelegate *sceneDelegate, HdDirtyBits *dirtyBits)
HD_API void _UpdateInstancer (HdSceneDelegate *sceneDelegate, HdDirtyBits *dirtyBits)
virtual HdDirtyBits _PropagateDirtyBits (HdDirtyBits bits) const =0
 This callback from Rprim gives the prim an opportunity to set additional dirty bits based on those already set. More...
virtual void _InitRepr (TfToken const &reprToken, HdDirtyBits *dirtyBits)=0
 Initialize the given representation of this Rprim. More...

Static Protected Member Functions

static HD_API _MeshReprConfig::DescArray _GetReprDesc (TfToken const &reprName)

Additional Inherited Members

- Protected Attributes inherited from HdRprim
HdRprimSharedData _sharedData
HdReprSelector _authoredReprSelector
TfToken _renderTag
_ReprVector _reprs

Detailed Description

Hydra Schema for a subdivision surface or poly-mesh object.

Definition at line 106 of file mesh.h.

Constructor & Destructor Documentation

◆ HdMesh()

HD_API HdMesh ( SdfPath const &  id)


instancerId, if specified, is the instancer which uses this mesh as a prototype.

Member Function Documentation

◆ ConfigureRepr()

static HD_API void ConfigureRepr ( TfToken const &  reprName,
HdMeshReprDesc  desc1,
HdMeshReprDesc  desc2 = HdMeshReprDesc() 

Configure the geometric style of the mesh for a given representation.

We currently allow up to 2 descriptors for a representation. Example of when this may be useful: Drawing the outline in addition to the surface for a mesh.

◆ GetBuiltinPrimvarNames()

HD_API TfTokenVector const& GetBuiltinPrimvarNames ( ) const

Returns the names of built-in primvars, i.e.

primvars that are part of the core geometric schema for this prim.

Implements HdRprim.

◆ GetMeshTopology()

HdMeshTopology GetMeshTopology ( HdSceneDelegate delegate) const

Topological accessors via the scene delegate.

Definition at line 188 of file mesh.h.

◆ GetPoints()

VtValue GetPoints ( HdSceneDelegate delegate) const

Primvars Accessors.

Definition at line 212 of file mesh.h.

◆ GetTopology()

HdMeshTopologySharedPtr GetTopology ( ) const

Topology getter.

Reimplemented in HdStMesh.

Definition at line 206 of file mesh.h.

◆ IsDoubleSided()

bool IsDoubleSided ( HdSceneDelegate delegate) const

Render State.

Definition at line 170 of file mesh.h.

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