|
From: <br...@us...> - 2008-09-22 16:03:18
|
Revision: 3672
http://openvrml.svn.sourceforge.net/openvrml/?rev=3672&view=rev
Author: braden
Date: 2008-09-22 16:02:47 +0000 (Mon, 22 Sep 2008)
Log Message:
-----------
Moved X3D Geospatial node implementations into a convenience library.
Modified Paths:
--------------
trunk/ChangeLog
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln
trunk/src/Makefile.am
trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp
Added Paths:
-----------
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj
trunk/src/node/x3d-geospatial/
trunk/src/node/x3d-geospatial/geo_coordinate.cpp
trunk/src/node/x3d-geospatial/geo_coordinate.h
trunk/src/node/x3d-geospatial/geo_elevation_grid.cpp
trunk/src/node/x3d-geospatial/geo_elevation_grid.h
trunk/src/node/x3d-geospatial/geo_location.cpp
trunk/src/node/x3d-geospatial/geo_location.h
trunk/src/node/x3d-geospatial/geo_lod.cpp
trunk/src/node/x3d-geospatial/geo_lod.h
trunk/src/node/x3d-geospatial/geo_metadata.cpp
trunk/src/node/x3d-geospatial/geo_metadata.h
trunk/src/node/x3d-geospatial/geo_origin.cpp
trunk/src/node/x3d-geospatial/geo_origin.h
trunk/src/node/x3d-geospatial/geo_position_interpolator.cpp
trunk/src/node/x3d-geospatial/geo_position_interpolator.h
trunk/src/node/x3d-geospatial/geo_touch_sensor.cpp
trunk/src/node/x3d-geospatial/geo_touch_sensor.h
trunk/src/node/x3d-geospatial/geo_viewpoint.cpp
trunk/src/node/x3d-geospatial/geo_viewpoint.h
trunk/src/node/x3d-geospatial/geospatial-common.cpp
trunk/src/node/x3d-geospatial/geospatial-common.h
Removed Paths:
-------------
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj
trunk/src/node/x3d-geospatial/geo_coordinate.cpp
trunk/src/node/x3d-geospatial/geo_coordinate.h
trunk/src/node/x3d-geospatial/geo_elevation_grid.cpp
trunk/src/node/x3d-geospatial/geo_elevation_grid.h
trunk/src/node/x3d-geospatial/geo_location.cpp
trunk/src/node/x3d-geospatial/geo_location.h
trunk/src/node/x3d-geospatial/geo_lod.cpp
trunk/src/node/x3d-geospatial/geo_lod.h
trunk/src/node/x3d-geospatial/geo_metadata.cpp
trunk/src/node/x3d-geospatial/geo_metadata.h
trunk/src/node/x3d-geospatial/geo_origin.cpp
trunk/src/node/x3d-geospatial/geo_origin.h
trunk/src/node/x3d-geospatial/geo_position_interpolator.cpp
trunk/src/node/x3d-geospatial/geo_position_interpolator.h
trunk/src/node/x3d-geospatial/geo_touch_sensor.cpp
trunk/src/node/x3d-geospatial/geo_touch_sensor.h
trunk/src/node/x3d-geospatial/geo_viewpoint.cpp
trunk/src/node/x3d-geospatial/geo_viewpoint.h
trunk/src/node/x3d-geospatial/geospatial-common.cpp
trunk/src/node/x3d-geospatial/geospatial-common.h
Property Changed:
----------------
trunk/
trunk/src/node/x3d-core/metadata_double.cpp
trunk/src/node/x3d-core/metadata_double.h
trunk/src/node/x3d-core/metadata_float.cpp
trunk/src/node/x3d-core/metadata_float.h
trunk/src/node/x3d-core/metadata_integer.cpp
trunk/src/node/x3d-core/metadata_integer.h
trunk/src/node/x3d-core/metadata_set.cpp
trunk/src/node/x3d-core/metadata_set.h
trunk/src/node/x3d-core/metadata_string.cpp
trunk/src/node/x3d-core/metadata_string.h
trunk/src/node/x3d-dis/espdu_transform.cpp
trunk/src/node/x3d-dis/espdu_transform.h
trunk/src/node/x3d-dis/receiver_pdu.cpp
trunk/src/node/x3d-dis/receiver_pdu.h
trunk/src/node/x3d-dis/signal_pdu.cpp
trunk/src/node/x3d-dis/signal_pdu.h
trunk/src/node/x3d-dis/transmitter_pdu.cpp
trunk/src/node/x3d-dis/transmitter_pdu.h
trunk/src/node/x3d-environmental-effects/texture_background.cpp
trunk/src/node/x3d-environmental-effects/texture_background.h
trunk/src/node/x3d-event-utilities/boolean_filter.cpp
trunk/src/node/x3d-event-utilities/boolean_filter.h
trunk/src/node/x3d-event-utilities/boolean_sequencer.cpp
trunk/src/node/x3d-event-utilities/boolean_sequencer.h
trunk/src/node/x3d-event-utilities/boolean_toggle.cpp
trunk/src/node/x3d-event-utilities/boolean_toggle.h
trunk/src/node/x3d-event-utilities/boolean_trigger.cpp
trunk/src/node/x3d-event-utilities/boolean_trigger.h
trunk/src/node/x3d-event-utilities/integer_sequencer.cpp
trunk/src/node/x3d-event-utilities/integer_sequencer.h
trunk/src/node/x3d-event-utilities/integer_trigger.cpp
trunk/src/node/x3d-event-utilities/integer_trigger.h
trunk/src/node/x3d-event-utilities/time_trigger.cpp
trunk/src/node/x3d-event-utilities/time_trigger.h
trunk/src/node/x3d-geometry2d/arc2d.cpp
trunk/src/node/x3d-geometry2d/arc2d.h
trunk/src/node/x3d-geometry2d/arc_close2d.cpp
trunk/src/node/x3d-geometry2d/arc_close2d.h
trunk/src/node/x3d-geometry2d/circle2d.cpp
trunk/src/node/x3d-geometry2d/circle2d.h
trunk/src/node/x3d-geometry2d/disk2d.cpp
trunk/src/node/x3d-geometry2d/disk2d.h
trunk/src/node/x3d-geometry2d/polyline2d.cpp
trunk/src/node/x3d-geometry2d/polyline2d.h
trunk/src/node/x3d-geometry2d/polypoint2d.cpp
trunk/src/node/x3d-geometry2d/polypoint2d.h
trunk/src/node/x3d-geometry2d/rectangle2d.cpp
trunk/src/node/x3d-geometry2d/rectangle2d.h
trunk/src/node/x3d-geometry2d/triangle_set2d.cpp
trunk/src/node/x3d-geometry2d/triangle_set2d.h
trunk/src/node/x3d-grouping/static_group.cpp
trunk/src/node/x3d-grouping/static_group.h
trunk/src/node/x3d-interpolation/coordinate_interpolator2d.cpp
trunk/src/node/x3d-interpolation/coordinate_interpolator2d.h
trunk/src/node/x3d-interpolation/position_interpolator2d.cpp
trunk/src/node/x3d-interpolation/position_interpolator2d.h
trunk/src/node/x3d-key-device-sensor/key_sensor.cpp
trunk/src/node/x3d-key-device-sensor/key_sensor.h
trunk/src/node/x3d-key-device-sensor/string_sensor.cpp
trunk/src/node/x3d-key-device-sensor/string_sensor.h
trunk/src/node/x3d-networking/load_sensor.cpp
trunk/src/node/x3d-networking/load_sensor.h
trunk/src/node/x3d-rendering/color_rgba.cpp
trunk/src/node/x3d-rendering/color_rgba.h
trunk/src/node/x3d-rendering/indexed_triangle_fan_set.cpp
trunk/src/node/x3d-rendering/indexed_triangle_fan_set.h
trunk/src/node/x3d-rendering/indexed_triangle_set.cpp
trunk/src/node/x3d-rendering/indexed_triangle_set.h
trunk/src/node/x3d-rendering/indexed_triangle_strip_set.cpp
trunk/src/node/x3d-rendering/indexed_triangle_strip_set.h
trunk/src/node/x3d-rendering/triangle_fan_set.cpp
trunk/src/node/x3d-rendering/triangle_fan_set.h
trunk/src/node/x3d-rendering/triangle_set.cpp
trunk/src/node/x3d-rendering/triangle_set.h
trunk/src/node/x3d-rendering/triangle_strip_set.cpp
trunk/src/node/x3d-rendering/triangle_strip_set.h
trunk/src/node/x3d-shape/fill_properties.cpp
trunk/src/node/x3d-shape/fill_properties.h
trunk/src/node/x3d-shape/line_properties.cpp
trunk/src/node/x3d-shape/line_properties.h
trunk/src/node/x3d-texturing/multi_texture.cpp
trunk/src/node/x3d-texturing/multi_texture.h
trunk/src/node/x3d-texturing/multi_texture_coordinate.cpp
trunk/src/node/x3d-texturing/multi_texture_coordinate.h
trunk/src/node/x3d-texturing/multi_texture_transform.cpp
trunk/src/node/x3d-texturing/multi_texture_transform.h
trunk/src/node/x3d-texturing/texture_coordinate_generator.cpp
trunk/src/node/x3d-texturing/texture_coordinate_generator.h
Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668
+ /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668,3670-3671
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-09-22 15:48:06 UTC (rev 3671)
+++ trunk/ChangeLog 2008-09-22 16:02:47 UTC (rev 3672)
@@ -1,3 +1,36 @@
+2008-09-22 Braden McDaniel <br...@en...>
+
+ Moved X3D Geospatial node implementations into a convenience
+ library.
+
+ * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added
+ x3d-environmental-effects static library project.
+ * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj
+ * src/Makefile.am: Added convenience library
+ node/x3d-geospatial/libx3d-geospatial.la.
+ * src/libopenvrml/openvrml/x3d_geospatial.cpp: Moved node
+ implementations to separate files.
+ * src/node/x3d-geospatial/geo_coordinate.cpp
+ * src/node/x3d-geospatial/geo_coordinate.h
+ * src/node/x3d-geospatial/geo_elevation_grid.cpp
+ * src/node/x3d-geospatial/geo_elevation_grid.h
+ * src/node/x3d-geospatial/geo_location.cpp
+ * src/node/x3d-geospatial/geo_location.h
+ * src/node/x3d-geospatial/geo_lod.cpp
+ * src/node/x3d-geospatial/geo_lod.h
+ * src/node/x3d-geospatial/geo_metadata.cpp
+ * src/node/x3d-geospatial/geo_metadata.h
+ * src/node/x3d-geospatial/geo_origin.cpp
+ * src/node/x3d-geospatial/geo_origin.h
+ * src/node/x3d-geospatial/geo_position_interpolator.cpp
+ * src/node/x3d-geospatial/geo_position_interpolator.h
+ * src/node/x3d-geospatial/geo_touch_sensor.cpp
+ * src/node/x3d-geospatial/geo_touch_sensor.h
+ * src/node/x3d-geospatial/geo_viewpoint.cpp
+ * src/node/x3d-geospatial/geo_viewpoint.h
+ * src/node/x3d-geospatial/geospatial-common.cpp
+ * src/node/x3d-geospatial/geospatial-common.h
+
2008-09-21 Braden McDaniel <br...@en...>
Moved X3D Environmental Effects node implementations into a convenience
Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln
===================================================================
--- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-22 15:48:06 UTC (rev 3671)
+++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-22 16:02:47 UTC (rev 3672)
@@ -13,6 +13,7 @@
{5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B}
{95D646C4-B759-469D-BDBB-A370A5778CA5} = {95D646C4-B759-469D-BDBB-A370A5778CA5}
{BFF962C6-4CC1-4DD1-965A-163EADE74986} = {BFF962C6-4CC1-4DD1-965A-163EADE74986}
+ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30} = {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}
{20B850E9-E417-49A2-A66C-38827401597B} = {20B850E9-E417-49A2-A66C-38827401597B}
{1D32E4EB-6613-4270-8295-7113712BC6C5} = {1D32E4EB-6613-4270-8295-7113712BC6C5}
EndProjectSection
@@ -75,6 +76,8 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-environmental-effects", "x3d-environmental-effects\x3d-environmental-effects.vcproj", "{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-geospatial", "x3d-geospatial\x3d-geospatial.vcproj", "{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -161,6 +164,10 @@
{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Debug|Win32.Build.0 = Debug|Win32
{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Release|Win32.ActiveCfg = Release|Win32
{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Release|Win32.Build.0 = Release|Win32
+ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Debug|Win32.Build.0 = Debug|Win32
+ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Release|Win32.ActiveCfg = Release|Win32
+ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial
___________________________________________________________________
Added: svn:ignore
+ Debug
Release
x3d-geospatial.vcproj.*.user
Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj
===================================================================
--- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 2008-09-22 15:48:06 UTC (rev 3671)
+++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 2008-09-22 16:02:47 UTC (rev 3672)
@@ -1,251 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="x3d-geospatial"
- ProjectGUID="{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}"
- RootNamespace="x3dgeospatial"
- Keyword="Win32Proj"
- TargetFrameworkVersion="196613"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPENVRML_BUILD_DLL"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPENVRML_BUILD_DLL"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_coordinate.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_coordinate.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
Copied: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj (from rev 3671, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj)
===================================================================
--- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj (rev 0)
+++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 2008-09-22 16:02:47 UTC (rev 3672)
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="x3d-geospatial"
+ ProjectGUID="{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}"
+ RootNamespace="x3dgeospatial"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPENVRML_BUILD_DLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPENVRML_BUILD_DLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_coordinate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_coordinate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am 2008-09-22 15:48:06 UTC (rev 3671)
+++ trunk/src/Makefile.am 2008-09-22 16:02:47 UTC (rev 3672)
@@ -16,7 +16,8 @@
node/x3d-key-device-sensor/libx3d-key-device-sensor.la \
node/x3d-event-utilities/libx3d-event-utilities.la \
node/x3d-dis/libx3d-dis.la \
- node/x3d-environmental-effects/libx3d-environmental-effects.la
+ node/x3d-environmental-effects/libx3d-environmental-effects.la \
+ node/x3d-geospatial/libx3d-geospatial.la
if ENABLE_GL_RENDERER
lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la
endif
@@ -161,6 +162,7 @@
node/x3d-event-utilities/libx3d-event-utilities.la \
node/x3d-dis/libx3d-dis.la \
node/x3d-environmental-effects/libx3d-environmental-effects.la \
+ node/x3d-geospatial/libx3d-geospatial.la \
-lboost_thread$(BOOST_LIB_SUFFIX) \
-lboost_filesystem$(BOOST_LIB_SUFFIX) \
-lltdl
@@ -511,6 +513,33 @@
node/x3d-environmental-effects/texture_background.cpp \
node/x3d-environmental-effects/texture_background.h
+node_x3d_geospatial_libx3d_geospatial_la_CPPFLAGS = \
+ -I$(top_builddir)/src/libopenvrml \
+ -I$(top_srcdir)/src/libopenvrml
+node_x3d_geospatial_libx3d_geospatial_la_CXXFLAGS = \
+ $(PTHREAD_CFLAGS)
+node_x3d_geospatial_libx3d_geospatial_la_SOURCES = \
+ node/x3d-geospatial/geospatial-common.h \
+ node/x3d-geospatial/geospatial-common.cpp \
+ node/x3d-geospatial/geo_coordinate.cpp \
+ node/x3d-geospatial/geo_coordinate.h \
+ node/x3d-geospatial/geo_elevation_grid.cpp \
+ node/x3d-geospatial/geo_elevation_grid.h \
+ node/x3d-geospatial/geo_location.cpp \
+ node/x3d-geospatial/geo_location.h \
+ node/x3d-geospatial/geo_lod.cpp \
+ node/x3d-geospatial/geo_lod.h \
+ node/x3d-geospatial/geo_metadata.cpp \
+ node/x3d-geospatial/geo_metadata.h \
+ node/x3d-geospatial/geo_origin.cpp \
+ node/x3d-geospatial/geo_origin.h \
+ node/x3d-geospatial/geo_position_interpolator.cpp \
+ node/x3d-geospatial/geo_position_interpolator.h \
+ node/x3d-geospatial/geo_touch_sensor.cpp \
+ node/x3d-geospatial/geo_touch_sensor.h \
+ node/x3d-geospatial/geo_viewpoint.cpp \
+ node/x3d-geospatial/geo_viewpoint.h
+
libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \
-I$(top_builddir)/src/libopenvrml \
-I$(top_srcdir)/src/libopenvrml \
Modified: trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp
===================================================================
--- trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp 2008-09-22 15:48:06 UTC (rev 3671)
+++ trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp 2008-09-22 16:02:47 UTC (rev 3672)
@@ -2,7 +2,7 @@
//
// OpenVRML
//
-// Copyright 2006, 2007 Braden McDaniel
+// Copyright 2006, 2007, 2008 Braden McDaniel
//
// This library is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
@@ -18,188 +18,27 @@
// along with this library; if not, see <http://www.gnu.org/licenses/>.
//
+# include "browser.h"
+# include "x3d_geospatial.h"
+# include <x3d-geospatial/geo_coordinate.h>
+# include <x3d-geospatial/geo_elevation_grid.h>
+# include <x3d-geospatial/geo_location.h>
+# include <x3d-geospatial/geo_lod.h>
+# include <x3d-geospatial/geo_metadata.h>
+# include <x3d-geospatial/geo_origin.h>
+# include <x3d-geospatial/geo_position_interpolator.h>
+# include <x3d-geospatial/geo_touch_sensor.h>
+# include <x3d-geospatial/geo_viewpoint.h>
+
# ifdef HAVE_CONFIG_H
# include <config.h>
# endif
-# include <boost/array.hpp>
-# include <private.h>
-# include "browser.h"
-# include "node_impl_util.h"
-# include "x3d_geospatial.h"
-
-using namespace openvrml;
-using namespace openvrml::node_impl_util;
-using namespace std;
-
-namespace {
-
- /**
- * @brief Class object for GeoCoordinate nodes.
- */
- class OPENVRML_LOCAL geo_coordinate_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_coordinate_metatype(openvrml::browser & browser);
- virtual ~geo_coordinate_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoElevationGrid nodes.
- */
- class OPENVRML_LOCAL geo_elevation_grid_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_elevation_grid_metatype(openvrml::browser & browser);
- virtual ~geo_elevation_grid_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoLocation nodes.
- */
- class OPENVRML_LOCAL geo_location_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_location_metatype(openvrml::browser & browser);
- virtual ~geo_location_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoLOD nodes.
- */
- class OPENVRML_LOCAL geo_lod_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_lod_metatype(openvrml::browser & browser);
- virtual ~geo_lod_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoMetadata nodes.
- */
- class OPENVRML_LOCAL geo_metadata_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_metadata_metatype(openvrml::browser & browser);
- virtual ~geo_metadata_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoOrigin nodes.
- */
- class OPENVRML_LOCAL geo_origin_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_origin_metatype(openvrml::browser & browser);
- virtual ~geo_origin_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoPositionInterpolator nodes.
- */
- class OPENVRML_LOCAL geo_position_interpolator_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_position_interpolator_metatype(openvrml::browser & browser);
- virtual ~geo_position_interpolator_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoTouchSensor nodes.
- */
- class OPENVRML_LOCAL geo_touch_sensor_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_touch_sensor_metatype(openvrml::browser & browser);
- virtual ~geo_touch_sensor_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for GeoViewpoint nodes.
- */
- class OPENVRML_LOCAL geo_viewpoint_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit geo_viewpoint_metatype(openvrml::browser & browser);
- virtual ~geo_viewpoint_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-}
-
void register_geospatial_node_metatypes(openvrml::browser & b)
{
using boost::shared_ptr;
using openvrml::node_metatype;
+ using namespace openvrml_node_x3d_geospatial;
b.add_node_metatype(geo_coordinate_metatype::id,
shared_ptr<node_metatype>(
new geo_coordinate_metatype(b)));
@@ -226,2677 +65,3 @@
shared_ptr<node_metatype>(
new geo_viewpoint_metatype(b)));
}
-
-namespace {
- using namespace openvrml_;
-
- class OPENVRML_LOCAL geo_coordinate_node :
- public abstract_node<geo_coordinate_node> {
-
- friend class geo_coordinate_metatype;
-
- exposedfield<mfvec3d> point_;
- sfnode geo_origin_;
- mfstring geo_system_;
-
- public:
- geo_coordinate_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_coordinate_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_elevation_grid_node :
- public abstract_node<geo_elevation_grid_node>,
- public geometry_node,
- public child_node {
-
- friend class geo_elevation_grid_metatype;
-
- class set_height_listener : public event_listener_base<self_t>,
- public mfdouble_listener {
- public:
- explicit set_height_listener(self_t & node);
- virtual ~set_height_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const mfdouble & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- set_height_listener set_height_listener_;
- exposedfield<sfnode> color_;
- exposedfield<sfnode> normal_;
- exposedfield<sfnode> tex_coord_;
- exposedfield<sffloat> y_scale_;
- sfbool ccw_;
- sfbool color_per_vertex_;
- sfdouble crease_angle_;
- sfvec3d geo_grid_origin_;
- sfnode geo_origin_;
- mfstring geo_system_;
- mfdouble height_;
- sfbool normal_per_vertex_;
- sfbool solid_;
- sfint32 x_dimension_;
- sfdouble x_spacing_;
- sfint32 z_dimension_;
- sfdouble z_spacing_;
-
- public:
- geo_elevation_grid_node(
- const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_elevation_grid_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- virtual const color_node * color() const OPENVRML_NOTHROW;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
- class OPENVRML_LOCAL geo_location_node :
- public abstract_node<geo_location_node>,
- public child_node {
-
- friend class geo_location_metatype;
-
- class add_children_listener : public event_listener_base<self_t>,
- public mfnode_listener {
- public:
- explicit add_children_listener(self_t & node);
- virtual ~add_children_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const mfnode & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- class remove_children_listener : public event_listener_base<self_t>,
- public mfnode_listener {
- public:
- explicit remove_children_listener(self_t & node);
- virtual ~remove_children_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const mfnode & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- add_children_listener add_children_listener_;
- remove_children_listener remove_children_listener_;
- exposedfield<mfnode> children_;
- exposedfield<sfvec3d> geo_coords_;
- sfnode geo_origin_;
- mfstring geo_system_;
- sfvec3f bbox_center_;
- sfvec3f bbox_size_;
-
- public:
- geo_location_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_location_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_lod_node : public abstract_node<geo_lod_node>,
- public child_node {
- friend class geo_lod_metatype;
-
- class add_children_listener :
- public event_listener_base<self_t>,
- public mfnode_listener
- {
- public:
- explicit add_children_listener(self_t & node);
- virtual ~add_children_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const mfnode & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- class remove_children_listener : public event_listener_base<self_t>,
- public mfnode_listener {
- public:
- explicit remove_children_listener(self_t & node);
- virtual ~remove_children_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const mfnode & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- add_children_listener add_children_listener_;
- remove_children_listener remove_children_listener_;
- mfnode children_;
- mfnode_emitter children_emitter_;
- sfvec3d center_;
- mfstring child1url_;
- mfstring child2url_;
- mfstring child3url_;
- mfstring child4url_;
- sfnode geo_origin_;
- mfstring geo_system_;
- sffloat range_;
- mfstring root_url_;
- mfnode root_node_;
- sfvec3f bbox_center_;
- sfvec3f bbox_size_;
-
- public:
- geo_lod_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_lod_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_metadata_node :
- public abstract_node<geo_metadata_node>,
- public child_node {
-
- friend class geo_metadata_metatype;
-
- exposedfield<mfnode> data_;
- exposedfield<mfstring> summary_;
- exposedfield<mfstring> url_;
-
- public:
- geo_metadata_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_metadata_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_origin_node :
- public abstract_node<geo_origin_node> {
-
- friend class geo_origin_metatype;
-
- exposedfield<sfvec3d> geo_coords_;
- exposedfield<mfstring> geo_system_;
- sfbool rotate_yup_;
-
- public:
- geo_origin_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_origin_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_position_interpolator_node :
- public abstract_node<geo_position_interpolator_node>,
- public child_node {
-
- friend class geo_position_interpolator_metatype;
-
- class set_fraction_listener : public event_listener_base<self_t>,
- public sffloat_listener {
- public:
- explicit set_fraction_listener(self_t & node);
- virtual ~set_fraction_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const sffloat & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- set_fraction_listener set_fraction_listener_;
- exposedfield<mffloat> key_;
- exposedfield<mfvec3d> key_value_;
- sfvec3d geovalue_changed_;
- sfvec3d_emitter geovalue_changed_emitter_;
- sfvec3f value_changed_;
- sfvec3f_emitter value_changed_emitter_;
- sfnode geo_origin_;
- mfstring geo_system_;
-
- public:
- geo_position_interpolator_node(
- const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_position_interpolator_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_touch_sensor_node :
- public abstract_node<geo_touch_sensor_node>,
- public child_node {
-
- friend class geo_touch_sensor_metatype;
-
- exposedfield<sfbool> enabled_;
- sfvec3f hit_normal_changed_;
- sfvec3f_emitter hit_normal_changed_emitter_;
- sfvec3f hit_point_changed_;
- sfvec3f_emitter hit_point_changed_emitter_;
- sfvec2f hit_tex_coord_changed_;
- sfvec2f_emitter hit_tex_coord_changed_emitter_;
- sfvec3d hit_geo_coord_changed_;
- sfvec3d_emitter hit_geo_coord_changed_emitter_;
- sfbool is_active_;
- sfbool_emitter is_active_emitter_;
- sfbool is_over_;
- sfbool_emitter is_over_emitter_;
- sftime touch_time_;
- sftime_emitter touch_time_emitter_;
- sfnode geo_origin_;
- mfstring geo_system_;
-
- public:
- geo_touch_sensor_node(
- const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_touch_sensor_node() OPENVRML_NOTHROW;
- };
-
- class OPENVRML_LOCAL geo_viewpoint_node :
- public abstract_node<geo_viewpoint_node>,
- public child_node {
-
- friend class geo_viewpoint_metatype;
-
- class set_bind_listener : public event_listener_base<self_t>,
- public sfbool_listener {
- public:
- explicit set_bind_listener(self_t & node);
- virtual ~set_bind_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const sfbool & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- class set_orientation_listener : public event_listener_base<self_t>,
- public sfrotation_listener {
- public:
- explicit set_orientation_listener(self_t & node);
- virtual ~set_orientation_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const sfrotation & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- class set_position_listener : public event_listener_base<self_t>,
- public sfvec3d_listener {
- public:
- explicit set_position_listener(self_t & node);
- virtual ~set_position_listener() OPENVRML_NOTHROW;
-
- private:
- virtual void do_process_event(const sfvec3d & fraction,
- double timestamp)
- OPENVRML_THROW1(std::bad_alloc);
- };
-
- set_bind_listener set_bind_listener_;
- set_orientation_listener set_orientation_listener_;
- set_position_listener set_position_listener_;
- exposedfield<sfstring> description_;
- exposedfield<sffloat> field_of_view_;
- exposedfield<sfbool> headlight_;
- exposedfield<sfbool> jump_;
- exposedfield<mfstring> nav_type_;
- sftime bind_time_;
- sftime_emitter bind_time_emitter_;
- sfbool is_bound_;
- sfbool_emitter is_bound_emitter_;
- sfnode geo_origin_;
- mfstring geo_system_;
- sfrotation orientation_;
- sfvec3d position_;
- sffloat speed_factor_;
-
- public:
- geo_viewpoint_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~geo_viewpoint_node() OPENVRML_NOTHROW;
- };
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const geo_coordinate_metatype::id =
- "urn:X-openvrml:node:GeoCoordinate";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this
- * @c geo_coordinate_metatype.
- */
- geo_coordinate_metatype::geo_coordinate_metatype(openvrml::browser & browser):
- node_metatype(geo_coordinate_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- geo_coordinate_metatype::~geo_coordinate_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a @c node_type capable of creating GeoCoordinate nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by geo_coordinate_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- geo_coordinate_metatype::
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 4> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::exposedfield_id,
- field_value::mfvec3d_id,
- "point"),
- node_interface(node_interface::field_id,
- field_value::sfnode_id,
- "geoOrigin"),
- node_interface(node_interface::field_id,
- field_value::mfstring_id,
- "geoSystem")
- };
- typedef node_type_impl<geo_coordinate_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_coordinate_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_coordinate_node::point_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_coordinate_node::geo_origin_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_coordinate_node::geo_system_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const geo_elevation_grid_metatype::id =
- "urn:X-openvrml:node:GeoElevationGrid";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this
- * @c geo_elevation_grid_metatype.
- */
- geo_elevation_grid_metatype::
- geo_elevation_grid_metatype(openvrml::browser & browser):
- node_metatype(geo_elevation_grid_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- geo_elevation_grid_metatype::~geo_elevation_grid_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a @c node_type capable of creating GeoElevationGrid nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by geo_elevation_grid_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- geo_elevation_grid_metatype::
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 19> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::eventin_id,
- field_value::mfdouble_id,
- "set_height"),
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "color"),
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "normal"),
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "texCoord"),
- node_interface(node_interface::exposedfield_id,
- field_value::sffloat_id,
- "yScale"),
- node_interface(node_interface::field_id,
- field_value::sfbool_id,
- "ccw"),
- node_interface(node_interface::field_id,
- field_value::sfbool_id,
- "colorPerVertex"),
- node_interface(node_interface::field_id,
- field_value::sfdouble_id,
- "creaseAngle"),
- node_interface(node_interface::field_id,
- field_value::sfvec3d_id,
- "geoGridOrigin"),
- node_interface(node_interface::field_id,
- field_value::sfnode_id,
- "geoOrigin"),
- node_interface(node_interface::field_id,
- field_value::mfstring_id,
- "geoSystem"),
- node_interface(node_interface::field_id,
- field_value::mfdouble_id,
- "height"),
- node_interface(node_interface::field_id,
- field_value::sfbool_id,
- "normalPerVertex"),
- node_interface(node_interface::field_id,
- field_value::sfbool_id,
- "solid"),
- node_interface(node_interface::field_id,
- field_value::sfint32_id,
- "xDimension"),
- node_interface(node_interface::field_id,
- field_value::sfdouble_id,
- "xSpacing"),
- node_interface(node_interface::field_id,
- field_value::sfint32_id,
- "zDimension"),
- node_interface(node_interface::field_id,
- field_value::sfdouble_id,
- "zSpacing")
- };
- typedef node_type_impl<geo_elevation_grid_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_eventin(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::set_height_listener_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::color_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::normal_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::tex_coord_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::y_scale_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::ccw_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::color_per_vertex_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::crease_angle_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::geo_grid_origin_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::geo_origin_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::geo_system_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::height_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::normal_per_vertex_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::solid_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::x_dimension_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::x_spacing_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::z_dimension_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &geo_elevation_grid_node::z_spacing_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
-
- /**
- * @brief @c nod...
[truncated message content] |