From: <br...@us...> - 2008-09-21 22:47:49
|
Revision: 3663 http://openvrml.svn.sourceforge.net/openvrml/?rev=3663&view=rev Author: braden Date: 2008-09-21 22:47:35 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Moved X3D Event Utilities 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_event_utilities.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj trunk/src/node/x3d-event-utilities/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 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 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-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 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/ChangeLog 2008-09-21 22:47:35 UTC (rev 3663) @@ -1,5 +1,32 @@ 2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Event Utilities node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-event-utilities static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj + * src/Makefile.am: Added convenience library + node/x3d-event-utilities/libx3d-event-utilities.la. + * src/libopenvrml/openvrml/x3d_event_utilities.cpp: Moved node + implementations to separate files. + * src/node/x3d-event-utilities/boolean_filter.cpp + * src/node/x3d-event-utilities/boolean_filter.h + * src/node/x3d-event-utilities/boolean_sequencer.cpp + * src/node/x3d-event-utilities/boolean_sequencer.h + * src/node/x3d-event-utilities/boolean_toggle.cpp + * src/node/x3d-event-utilities/boolean_toggle.h + * src/node/x3d-event-utilities/boolean_trigger.cpp + * src/node/x3d-event-utilities/boolean_trigger.h + * src/node/x3d-event-utilities/integer_sequencer.cpp + * src/node/x3d-event-utilities/integer_sequencer.h + * src/node/x3d-event-utilities/integer_trigger.cpp + * src/node/x3d-event-utilities/integer_trigger.h + * src/node/x3d-event-utilities/time_trigger.cpp + * src/node/x3d-event-utilities/time_trigger.h + +2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Key Device Sensor node implementations into a convenience library. @@ -8,10 +35,11 @@ * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj * src/Makefile.am: Added convenience library node/x3d-key-device-sensor/libx3d-key-device-sensor.la. - * src/libopenvrml/openvrml/x3d_key_device_sensor.cpp + * src/libopenvrml/openvrml/x3d_key_device_sensor.cpp: Moved node + implementations to separate files. * src/node/x3d-key-device-sensor/string_sensor.cpp + * src/node/x3d-key-device-sensor/string_sensor.h * src/node/x3d-key-device-sensor/key_sensor.cpp - * src/node/x3d-key-device-sensor/string_sensor.h * src/node/x3d-key-device-sensor/key_sensor.h 2008-09-21 Braden McDaniel <br...@en...> @@ -27,9 +55,9 @@ * src/libopenvrml/openvrml/x3d_interpolation.cpp: Moved node implementations to separate files. * src/node/x3d-interpolation/coordinate_interpolator2d.cpp - * src/node/x3d-interpolation/position_interpolator2d.h * src/node/x3d-interpolation/coordinate_interpolator2d.h * src/node/x3d-interpolation/position_interpolator2d.cpp + * src/node/x3d-interpolation/position_interpolator2d.h 2008-09-21 Braden McDaniel <br...@en...> @@ -50,14 +78,14 @@ node/x3d-texturing/libx3d-texturing.la. * src/libopenvrml/openvrml/x3d_texturing.cpp: Moved node implementations to separate files. + * src/node/x3d-texturing/multi_texture.cpp * src/node/x3d-texturing/multi_texture.h * src/node/x3d-texturing/multi_texture_coordinate.cpp - * src/node/x3d-texturing/texture_coordinate_generator.h + * src/node/x3d-texturing/multi_texture_coordinate.h * src/node/x3d-texturing/multi_texture_transform.cpp - * src/node/x3d-texturing/multi_texture_coordinate.h - * src/node/x3d-texturing/multi_texture.cpp * src/node/x3d-texturing/multi_texture_transform.h * src/node/x3d-texturing/texture_coordinate_generator.cpp + * src/node/x3d-texturing/texture_coordinate_generator.h 2008-09-20 Braden McDaniel <br...@en...> @@ -71,22 +99,22 @@ node/x3d-geometry2d/libx3d-geometry2d.la. * src/libopenvrml/openvrml/x3d_geometry2d.cpp: Moved node implementations to separate files. - * src/node/x3d-geometry2d/rectangle2d.h + * src/node/x3d-geometry2d/arc2d.cpp * src/node/x3d-geometry2d/arc2d.h - * src/node/x3d-geometry2d/triangle_set2d.cpp - * src/node/x3d-geometry2d/triangle_set2d.h * src/node/x3d-geometry2d/arc_close2d.cpp + * src/node/x3d-geometry2d/arc_close2d.h + * src/node/x3d-geometry2d/circle2d.cpp + * src/node/x3d-geometry2d/circle2d.h * src/node/x3d-geometry2d/disk2d.cpp + * src/node/x3d-geometry2d/disk2d.h * src/node/x3d-geometry2d/polyline2d.cpp + * src/node/x3d-geometry2d/polyline2d.h * src/node/x3d-geometry2d/polypoint2d.cpp - * src/node/x3d-geometry2d/arc_close2d.h - * src/node/x3d-geometry2d/disk2d.h - * src/node/x3d-geometry2d/polyline2d.h - * src/node/x3d-geometry2d/circle2d.cpp * src/node/x3d-geometry2d/polypoint2d.h * src/node/x3d-geometry2d/rectangle2d.cpp - * src/node/x3d-geometry2d/arc2d.cpp - * src/node/x3d-geometry2d/circle2d.h + * src/node/x3d-geometry2d/rectangle2d.h + * src/node/x3d-geometry2d/triangle_set2d.cpp + * src/node/x3d-geometry2d/triangle_set2d.h 2008-09-18 Braden McDaniel <br...@en...> @@ -117,20 +145,20 @@ node/x3d-rendering/libx3d-rendering.la. * src/libopenvrml/openvrml/x3d_rendering.cpp: Moved node implementations to separate files. + * src/node/x3d-rendering/color_rgba.cpp * src/node/x3d-rendering/color_rgba.h + * src/node/x3d-rendering/indexed_triangle_fan_set.cpp + * src/node/x3d-rendering/indexed_triangle_fan_set.h * src/node/x3d-rendering/indexed_triangle_set.cpp - * src/node/x3d-rendering/triangle_set.cpp + * src/node/x3d-rendering/indexed_triangle_set.h * src/node/x3d-rendering/indexed_triangle_strip_set.cpp - * src/node/x3d-rendering/triangle_strip_set.cpp - * src/node/x3d-rendering/indexed_triangle_fan_set.cpp + * src/node/x3d-rendering/indexed_triangle_strip_set.h * src/node/x3d-rendering/triangle_fan_set.cpp - * src/node/x3d-rendering/indexed_triangle_set.h + * src/node/x3d-rendering/triangle_fan_set.h + * src/node/x3d-rendering/triangle_set.cpp * src/node/x3d-rendering/triangle_set.h - * src/node/x3d-rendering/indexed_triangle_strip_set.h + * src/node/x3d-rendering/triangle_strip_set.cpp * src/node/x3d-rendering/triangle_strip_set.h - * src/node/x3d-rendering/color_rgba.cpp - * src/node/x3d-rendering/indexed_triangle_fan_set.h - * src/node/x3d-rendering/triangle_fan_set.h 2008-09-16 Braden McDaniel <br...@en...> Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 22:47:35 UTC (rev 3663) @@ -2,6 +2,7 @@ # Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml", "openvrml\openvrml.vcproj", "{E5287CD2-4BAC-4341-AF28-A1F9C0F5949C}" ProjectSection(ProjectDependencies) = postProject + {CE946E0C-4880-4AB0-9170-42D6692791CC} = {CE946E0C-4880-4AB0-9170-42D6692791CC} {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} {E20E0E24-C0B6-4448-82E0-32CCDBA88957} = {E20E0E24-C0B6-4448-82E0-32CCDBA88957} {430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735} @@ -66,6 +67,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-key-device-sensor", "x3d-key-device-sensor\x3d-key-device-sensor.vcproj", "{E20E0E24-C0B6-4448-82E0-32CCDBA88957}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-event-utilities", "x3d-event-utilities\x3d-event-utilities.vcproj", "{CE946E0C-4880-4AB0-9170-42D6692791CC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -140,6 +143,10 @@ {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Debug|Win32.Build.0 = Debug|Win32 {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Release|Win32.ActiveCfg = Release|Win32 {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Release|Win32.Build.0 = Release|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Debug|Win32.Build.0 = Debug|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Release|Win32.ActiveCfg = Release|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-event-utilities.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 2008-09-21 22:47:35 UTC (rev 3663) @@ -1,227 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-event-utilities" - ProjectGUID="{CE946E0C-4880-4AB0-9170-42D6692791CC}" - RootNamespace="x3deventutilities" - 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-event-utilities\boolean_filter.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-event-utilities\boolean_filter.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-event-utilities/x3d-event-utilities.vcproj (from rev 3662, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 2008-09-21 22:47:35 UTC (rev 3663) @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-event-utilities" + ProjectGUID="{CE946E0C-4880-4AB0-9170-42D6692791CC}" + RootNamespace="x3deventutilities" + 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-event-utilities\boolean_filter.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-event-utilities\boolean_filter.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-21 22:20:08 UTC (rev 3662) +++ trunk/src/Makefile.am 2008-09-21 22:47:35 UTC (rev 3663) @@ -13,7 +13,8 @@ node/x3d-geometry2d/libx3d-geometry2d.la \ node/x3d-texturing/libx3d-texturing.la \ node/x3d-interpolation/libx3d-interpolation.la \ - node/x3d-key-device-sensor/libx3d-key-device-sensor.la + node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ + node/x3d-event-utilities/libx3d-event-utilities.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -155,6 +156,7 @@ node/x3d-texturing/libx3d-texturing.la \ node/x3d-interpolation/libx3d-interpolation.la \ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ + node/x3d-event-utilities/libx3d-event-utilities.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -460,6 +462,27 @@ node/x3d-key-device-sensor/string_sensor.cpp \ node/x3d-key-device-sensor/string_sensor.h +node_x3d_event_utilities_libx3d_event_utilities_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_event_utilities_libx3d_event_utilities_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_event_utilities_libx3d_event_utilities_la_SOURCES = \ + node/x3d-event-utilities/boolean_filter.cpp \ + node/x3d-event-utilities/boolean_filter.h \ + node/x3d-event-utilities/boolean_sequencer.cpp \ + node/x3d-event-utilities/boolean_sequencer.h \ + node/x3d-event-utilities/boolean_toggle.cpp \ + node/x3d-event-utilities/boolean_toggle.h \ + node/x3d-event-utilities/boolean_trigger.cpp \ + node/x3d-event-utilities/boolean_trigger.h \ + node/x3d-event-utilities/integer_sequencer.cpp \ + node/x3d-event-utilities/integer_sequencer.h \ + node/x3d-event-utilities/integer_trigger.cpp \ + node/x3d-event-utilities/integer_trigger.h \ + node/x3d-event-utilities/time_trigger.cpp \ + node/x3d-event-utilities/time_trigger.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_event_utilities.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_event_utilities.cpp 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/src/libopenvrml/openvrml/x3d_event_utilities.cpp 2008-09-21 22:47:35 UTC (rev 3663) @@ -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,1818 +18,44 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include <openvrml/browser.h> +# include "x3d_event_utilities.h" +# include <x3d-event-utilities/boolean_filter.h> +# include <x3d-event-utilities/boolean_sequencer.h> +# include <x3d-event-utilities/boolean_toggle.h> +# include <x3d-event-utilities/boolean_trigger.h> +# include <x3d-event-utilities/integer_sequencer.h> +# include <x3d-event-utilities/integer_trigger.h> +# include <x3d-event-utilities/time_trigger.h> + # ifdef HAVE_CONFIG_H # include <config.h> # endif -# include <boost/array.hpp> -# include <private.h> -# include <openvrml/browser.h> -# include "node_impl_util.h" -# include "x3d_event_utilities.h" - -namespace { - - /** - * @brief Class object for BooleanFilter nodes. - */ - class OPENVRML_LOCAL boolean_filter_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_filter_metatype(openvrml::browser & browser); - virtual ~boolean_filter_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for BooleanSequencer nodes. - */ - class OPENVRML_LOCAL boolean_sequencer_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_sequencer_metatype(openvrml::browser & browser); - virtual ~boolean_sequencer_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for BooleanToggle nodes. - */ - class OPENVRML_LOCAL boolean_toggle_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_toggle_metatype(openvrml::browser & browser); - virtual ~boolean_toggle_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for BooleanTrigger nodes. - */ - class OPENVRML_LOCAL boolean_trigger_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_trigger_metatype(openvrml::browser & browser); - virtual ~boolean_trigger_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for IntegerSequencer nodes. - */ - class OPENVRML_LOCAL integer_sequencer_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit integer_sequencer_metatype(openvrml::browser & browser); - virtual ~integer_sequencer_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for IntegerTrigger nodes. - */ - class OPENVRML_LOCAL integer_trigger_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit integer_trigger_metatype(openvrml::browser & browser); - virtual ~integer_trigger_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for TimeTrigger nodes. - */ - class OPENVRML_LOCAL time_trigger_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit time_trigger_metatype(openvrml::browser & browser); - virtual ~time_trigger_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; -} - void register_event_utilities_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; - b.add_node_metatype(boolean_filter_metatype::id, - shared_ptr<node_metatype>(new boolean_filter_metatype(b))); - b.add_node_metatype(boolean_sequencer_metatype::id, - shared_ptr<node_metatype>(new boolean_sequencer_metatype(b))); - b.add_node_metatype(boolean_toggle_metatype::id, - shared_ptr<node_metatype>(new boolean_toggle_metatype(b))); - b.add_node_metatype(boolean_trigger_metatype::id, - shared_ptr<node_metatype>(new boolean_trigger_metatype(b))); - b.add_node_metatype(integer_sequencer_metatype::id, - shared_ptr<node_metatype>(new integer_sequencer_metatype(b))); - b.add_node_metatype(integer_trigger_metatype::id, - shared_ptr<node_metatype>(new integer_trigger_metatype(b))); - b.add_node_metatype(time_trigger_metatype::id, - shared_ptr<node_metatype>(new time_trigger_metatype(b))); + using namespace openvrml_node_x3d_event_utilities; + b.add_node_metatype( + boolean_filter_metatype::id, + shared_ptr<node_metatype>(new boolean_filter_metatype(b))); + b.add_node_metatype( + boolean_sequencer_metatype::id, + shared_ptr<node_metatype>(new boolean_sequencer_metatype(b))); + b.add_node_metatype( + boolean_toggle_metatype::id, + shared_ptr<node_metatype>(new boolean_toggle_metatype(b))); + b.add_node_metatype( + boolean_trigger_metatype::id, + shared_ptr<node_metatype>(new boolean_trigger_metatype(b))); + b.add_node_metatype( + integer_sequencer_metatype::id, + shared_ptr<node_metatype>(new integer_sequencer_metatype(b))); + b.add_node_metatype( + integer_trigger_metatype::id, + shared_ptr<node_metatype>(new integer_trigger_metatype(b))); + b.add_node_metatype( + time_trigger_metatype::id, + shared_ptr<node_metatype>(new time_trigger_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL boolean_filter_node : - public openvrml::node_impl_util::abstract_node<boolean_filter_node>, - public openvrml::child_node { - - friend class boolean_filter_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - openvrml::sfbool input_false_; - sfbool_emitter input_false_emitter_; - openvrml::sfbool input_negate_; - sfbool_emitter input_negate_emitter_; - openvrml::sfbool input_true_; - sfbool_emitter input_true_emitter_; - - public: - boolean_filter_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_filter_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL boolean_sequencer_node : - public openvrml::node_impl_util::abstract_node<boolean_sequencer_node>, - public openvrml::child_node { - - friend class boolean_sequencer_metatype; - - class next_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit next_listener(self_t & node); - virtual ~next_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class previous_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit previous_listener(self_t & node); - virtual ~previous_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_fraction_listener : - public openvrml::node_impl_util::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 openvrml::sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - next_listener next_listener_; - previous_listener previous_listener_; - set_fraction_listener set_fraction_listener_; - exposedfield<openvrml::mffloat> key_; - exposedfield<openvrml::mfbool> key_value_; - openvrml::sfbool value_changed_; - sfbool_emitter value_changed_emitter_; - - public: - boolean_sequencer_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_sequencer_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL boolean_toggle_node : - public openvrml::node_impl_util::abstract_node<boolean_toggle_node>, - public openvrml::child_node { - - friend class boolean_toggle_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - exposedfield<openvrml::sfbool> toggle_; - - public: - boolean_toggle_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_toggle_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL boolean_trigger_node : - public openvrml::node_impl_util::abstract_node<boolean_trigger_node>, - public openvrml::child_node { - - friend class boolean_trigger_metatype; - - class set_trigger_time_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sftime_listener { - public: - explicit set_trigger_time_listener(self_t & node); - virtual ~set_trigger_time_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sftime & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_trigger_time_listener set_trigger_time_listener_; - openvrml::sfbool trigger_true_; - sfbool_emitter trigger_true_emitter_; - - public: - boolean_trigger_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_trigger_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL integer_sequencer_node : - public openvrml::node_impl_util::abstract_node<integer_sequencer_node>, - public openvrml::child_node { - - friend class integer_sequencer_metatype; - - class next_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit next_listener(self_t & node); - virtual ~next_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class previous_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit previous_listener(self_t & node); - virtual ~previous_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_fraction_listener : - public openvrml::node_impl_util::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 openvrml::sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - next_listener next_listener_; - previous_listener previous_listener_; - set_fraction_listener set_fraction_listener_; - exposedfield<openvrml::mffloat> key_; - exposedfield<openvrml::mfint32> key_value_; - openvrml::sfint32 value_changed_; - sfint32_emitter value_changed_emitter_; - - public: - integer_sequencer_node( - const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~integer_sequencer_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL integer_trigger_node : - public openvrml::node_impl_util::abstract_node<integer_trigger_node>, - public openvrml::child_node { - - friend class integer_trigger_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - exposedfield<openvrml::mfint32> integer_key_; - openvrml::sfint32 trigger_value_; - sfint32_emitter trigger_value_emitter_; - - public: - integer_trigger_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~integer_trigger_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL time_trigger_node : - public openvrml::node_impl_util::abstract_node<time_trigger_node>, - public openvrml::child_node { - - friend class time_trigger_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - openvrml::sftime trigger_time_; - sftime_emitter trigger_time_emitter_; - - public: - time_trigger_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~time_trigger_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_filter_metatype::id = - "urn:X-openvrml:node:BooleanFilter"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c boolean_filter_metatype. - */ - boolean_filter_metatype::boolean_filter_metatype(openvrml::browser & browser): - node_metatype(boolean_filter_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - boolean_filter_metatype::~boolean_filter_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 node_type_ptr to a node_type capable of creating BooleanFilter nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by boolean_filter_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - boolean_filter_metatype:: - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) - { - using namespace openvrml; - using namespace openvrml::node_impl_util; - - typedef boost::array<node_interface, 5> 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::sfbool_id, - "set_boolean"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "inputFalse"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "inputNegate"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "inputTrue") - }; - typedef node_type_impl<boolean_filter_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, - &boolean_filter_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::set_boolean_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::input_false_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::input_negate_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::input_true_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_sequencer_metatype::id = - "urn:X-openvrml:node:BooleanSequencer"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c boolean_sequencer_metatype. - */ - boolean_sequencer_metatype::boolean_sequencer_metatype(openvrml::browser & browser): - node_metatype(boolean_sequencer_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - boolean_sequencer_metatype::~boolean_sequencer_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 node_type_ptr to a node_type capable of creating BooleanSequencer nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by boolean_sequencer_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - boolean_sequencer_metatype:: - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) - { - using namespace openvrml; - using namespace openvrml::node_impl_util; - - typedef boost::array<node_interface, 7> 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::sfbool_id, - "next"), - node_interface(node_interface::eventin_id, - field_value::sfbool_id, - "previous"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_fraction"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "key"), - node_interface(node_interface::exposedfield_id, - field_value::mfbool_id, - "keyValue"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "value_changed") - }; - typedef node_type_impl<boolean_sequencer_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, - &boolean_sequencer_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::next_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::previous_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::set_fraction_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::key_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::key_value_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::value_changed_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_toggle_metatype::id = - "urn:X-openvrml:node:BooleanToggle"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with - * @c this boolean_toggle_metatype. - */ - boolean_toggle_metatype::boolean_toggle_metatype(openvrml::browser & browser): - node_metatype(boolean_toggle_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - boolean_toggle_metatype::~boolean_toggle_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 node_type_ptr to a node_type capable of creating BooleanToggle nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by boolean_toggle_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - boolean_toggle_metatype:: - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) - { - using namespace openvrml; - using namespace openvrml::node_impl_util; - - typedef boost::array<node_interface, 3> 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::sfbool_id, - "set_boolean"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "toggle") - }; - typedef node_type_impl<boolean_toggle_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, - &boolean_toggle_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_toggle_node::set_boolean_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &boolean_toggle_node::toggle_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_trigger_metatype::id = - "urn:X-openvrml:node:BooleanTrigger"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * ... [truncated message content] |