Example #1
0
    public void AddMeshAndCachePoints(FaceMeshPool pool, Transform owner)
    {
        if (m_Mesh != null && m_Mesh.NumPoints != m_Points.Count)
        {
            pool.ReturnMesh(m_Mesh);
            m_Mesh = null;
        }

        if (m_Mesh == null)
        {
            m_Mesh = pool.GetMesh(m_Points.Count);
        }

        m_Mesh.transform.SetParent(owner, false);
        m_Mesh.transform.localPosition = Vector3.zero;
        m_Mesh.transform.localRotation = Quaternion.identity;

        m_CachedPoints.Clear();

        for (int i = 0; i < m_Points.Count; i++)
        {
            m_CachedPoints.Add(m_Points[i].Point);
        }

        m_Mesh.SetVerts(m_CachedPoints);
        m_Mesh.SetNormal(m_Normal);
    }
Example #2
0
    public void AddMesh(FaceMeshPool pool)
    {
        if (m_Mesh != null && m_Mesh.NumPoints != m_NumPoints)
        {
            pool.ReturnMesh(m_Mesh);
            m_Mesh = null;
        }

        if (m_Mesh == null)
        {
            m_Mesh = pool.GetMesh(m_NumPoints);
        }

        m_Mesh.transform.SetParent(m_Owner.transform, false);
        m_Mesh.transform.localPosition = Vector3.zero;
        m_Mesh.transform.localRotation = Quaternion.identity;

        m_Points.Clear();
        m_PointIndicies.Clear();

        m_LoopEnumerator.Init(m_Head);
        for (var e = m_LoopEnumerator.First(); e != null; e = m_LoopEnumerator.Next())
        {
            m_Points.Add(e.End.Point);
            m_PointIndicies.Add(e.End.Index);
        }

        m_Mesh.SetVerts(m_Points);
        m_Mesh.SetNormal(Normal);
    }
Example #3
0
    private void Awake()
    {
        EdgePointIndicies = new List <int>(40);
        EdgePairs         = new List <EdgePair>(20);
        Points            = new List <Vector3>(10);
        WorldPoints       = new List <Vector3>(10);
        Faces             = new List <Face>(12);

        m_MeshPool = GetComponentInParent <FaceMeshPool>();
    }
Example #4
0
    private void Awake()
    {
        Faces            = new List <Face2>();
        Points           = new List <Point2>();
        Edges            = new List <Edge2>();
        CachedPoints     = new List <Vector3>();
        CachedEdgePoints = new List <Vector3>();

        m_MeshPool        = GetComponentInParent <FaceMeshPool>();
        m_NewPointsGetter = GetComponentInParent <NewPointsGetter>();
    }