public override void AbcGetConfig(ref AbcAPI.aiConfig config)
 {
     if (m_aspectRatioMode != AbcAPI.aiAspectRatioModeOverride.InheritStreamSetting)
     {
         config.aspectRatio = AbcAPI.GetAspectRatio((AbcAPI.aiAspectRatioMode)m_aspectRatioMode);
     }
 }
    public override void AbcGetConfig(ref AbcAPI.aiConfig config)
    {
        if (m_normalsMode != AbcAPI.aiNormalsModeOverride.InheritStreamSetting)
        {
            config.normalsMode = (AbcAPI.aiNormalsMode)m_normalsMode;
        }

        if (m_tangentsMode != AbcAPI.aiTangentsModeOverride.InheritStreamSetting)
        {
            config.tangentsMode = (AbcAPI.aiTangentsMode)m_tangentsMode;
        }

        if (m_faceWinding != AbcAPI.aiFaceWindingOverride.InheritStreamSetting)
        {
            config.swapFaceWinding = (m_faceWinding == AbcAPI.aiFaceWindingOverride.Swap);
        }

        config.cacheTangentsSplits = m_cacheTangentsSplits;

        // if 'forceUpdate' is set true, even if alembic sample data do not change at all
        // AbcSampleUpdated will still be called (topologyChanged will be false)

        AlembicMaterial abcMaterials = m_trans.GetComponent <AlembicMaterial>();

        config.forceUpdate = m_freshSetup || (abcMaterials != null ? abcMaterials.HasFacesetsChanged() : hasFacesets);
    }
 // Called by loading thread (not necessarily the main thread)
 public virtual void AbcGetConfig(ref AbcAPI.aiConfig config)
 {
     // Overrides aiConfig options here if needed
 }
    static void ConfigCallback(IntPtr __this, ref AbcAPI.aiConfig config)
    {
        var _this = GCHandle.FromIntPtr(__this).Target as AlembicElement;

        _this.AbcGetConfig(ref config);
    }