A Critical Review of Feature Recognition Techniques