Clean up cocoa input event handling.

The vtkCocoaGLView class was full of copy/paste duplication.  Common code
has now been consolidated.  Also, the loops for handling mouse drag events
have been removed, because they caused events to be handled out of order.

Change-Id: I23c521b149bc29ec0597ef4fb9170a21b0fc0457
Interpret OS X Command key as Ctrl instead of Alt.

After this change, VTK apps that map the Ctrl modifier to actions
will be more intuitive on OS X, since OS X users use the Command
key the same way that Windows and Linux users use the Ctrl key.

Change-Id: Iee77d7ba2541276ddf164c708bf18be2601eed05
Initialize interactor in Start() if not done yet.

The vtkXRenderWindowInteractor calls Initialize() from Start() if
the interactor isn't initialized yet, so it seems that the Cocoa
interactor should do the same.

My main reason for this patch is that I have often moved VTK apps from
Linux to OS X, which then refused to run because they called Start()
without first calling Initialize().

Change-Id: I043fc544e0f1cec4139a4e962aaccf3cce311d45
Fixed SimpleCocoaVTK Xcode project to build properly.

- fix library names to use 6.2 in the filename
- In the xcconfig, don't assue VTK_USE_SYSTEM_ZLIB was
  used since the Read Me doesn't say it's required

Change-Id: Iddcc27678fcd9abf50db9c97ff308ec69529b125
14552: Check python interp and lib versions.

Add a variable to allow the user to choose a version for the python
interpreter.  Attempt to locate libraries with the same version number.
Emit a warning if the library version number and the interpreter
version number do not match.

Change-Id: I0c555c01deb7d6fa9a4f57d65ff5125463de7aef
Remove EdgeFlags test from OpenGL2

Edge visibility (on/off per edge) via vtkDataSetAttributes::EDGEFLAG is not
supported. It was “free” in the old backend (glEdgeFlag) but in newer GL the
function is gone.  Not worth implementing as it is complex to code.

Change-Id: I1736063bf032b383863ae09e40f88766eb602bc9
Disable edgeflag test if Mesa driver is detected.

Avoid test failure on some Mesa computers.

Change-Id: I4e286e8c6ae45690a56a456355ee1291c133d657
Support edge flags.

After an exhasting week of coding this up without food or water I am ready
to commit support for edge flags on polys in 3d in wireframe. In spite of
being called edge flags they are associated with points not edges. You are
indicating ***do not draw any edges starting with this point*** sort of
an odd beast but the voices in my head and email inbox said to go ahead
and implement it.

Change-Id: I9b25b6725cdf3060613156c5c61bc6e0f9499c94
Select internal tetra tessellation based on scalar change

Change-Id: I3587a17f9135f83207442e44e80936d7cec480c1
Fix for the 1 0 1 edge flag case.

This case was resulting in v1-v2-v3  this patch fixes it to be
v1-v2 as it should be.

Change-Id: I134b437aeb5b9a0452108e2c87a7fee913866fc3
Minor cleanup

Change-Id: I0ccb5d4318acf0c7e8dac378ab81e6b247790516
RenderingOpenGL: remove unused file

No corresponding source and its baseclass no longer exists either.

Change-Id: I7f926c3d4b774d86c62823c24990e4e09016bca2
Another attempt.  I think this one should work.

The prior versions had issues with closing the polygon and connecting
across gaps where edges were tuend off. It really does not make sense
to use a line loop as is standard for wireframe polygons. So I
switched it to lines and build the ibo in a seperate function. If
edge visibility is on I draw lines as opposed to line loops. A tad
more code but it is a cleaner solution.  I modified the test to
include a 5 sided polygon test case that includes a closing segment
to better catch these types of issues.

Change-Id: Iebde018fea669703cb8976b6b5cda1c03ae1f62c
Giving a warning if trying to create a subcontroller with 0 procs.

This shouldn't be an issue of creating a sub MPI controller with
0 processes in it but some MPI implementations don't like it and
crash so I'm not allowing it since I can't see much of a use case
for this anyways.

Change-Id: Ic7f5f490052336b4b6a022a4de55ddc549b04c44
Exit the Cocoa event loop when the window closes.

This is to match the behavior on other operating systems.  If the
native window was originally created by VTK (and not merely attached
to VTK), then when the user closes it, the interactor's Start()
method returns.

Without this behavior, basic interactor-based VTK scripts and programs
will simply hang when the window is closed.

Change-Id: I900acda4dc2f98999615be7a3715716c64bc49b2
Readability improvements to vtkCocoaGLView event code.

Change-Id: Icaafa2244ed58ec36987fdf1d34d88fadef03c17
Merge topic 'fix_edge_flags_test' into master

18de5200 Disable edgeflag test if Mesa driver is detected.
14999: Python Tk widgets fail to load on Tcl 8.6.

The tcl 8.6 "info loaded" command returns a nested list of loaded
tcl modules.  In python, these are returned as nested tuples (if
there is at least one), or as an empty string (if there are none).
Both situations are now handled, as well as the tcl 8.5 behaviour
in which the results are always returned as a string.

This supersedes commit 9f4afe40, which returned a false negative
because it mistakenly assumed that "info loaded" returned a flat list.

Tested with tcl 8.5 and tcl 8.6 with python 2.7 on linux.

Change-Id: Ic9aa3b59fb141bd0bcf5e8f12106173fb1fc4c5b
Merge topic '14552_python_version_check' into master

52a5b977 14552: Check python interp and lib versions.
New data file for QuadraticTetra

Change-Id: I0e106acfca5e003bfc6bb5290426c850884b5be7