Skip to content

Commit

Permalink
effectively list algorithms
Browse files Browse the repository at this point in the history
  • Loading branch information
elliotwoods committed Feb 2, 2014
1 parent f3944bb commit d34043b
Show file tree
Hide file tree
Showing 12 changed files with 1,028 additions and 570 deletions.
25 changes: 25 additions & 0 deletions Example_ListAlgorithms/Example_Algorithms.sln
@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Example_Algorithms", "Example_Algorithms.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32
{7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32
{7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32
{7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32
{5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32
{5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32
{5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32
{5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
117 changes: 117 additions & 0 deletions Example_ListAlgorithms/Example_Algorithms.vcxproj
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7FD42DF7-442E-479A-BA76-D0022F99702A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Example_Algorithms</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\libs\openFrameworksCompiled\project\vs\openFrameworksRelease.props" />
<Import Project="..\ofxNonLinearFit.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\libs\openFrameworksCompiled\project\vs\openFrameworksDebug.props" />
<Import Project="..\ofxNonLinearFit.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)_debug</TargetName>
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\..\..\addons\ofxNonLinearFit\libs;..\..\..\addons\ofxNonLinearFit\src;..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit</AdditionalIncludeDirectories>
<CompileAs>CompileAsCpp</CompileAs>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\..\..\addons\ofxNonLinearFit\libs;..\..\..\addons\ofxNonLinearFit\src;..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit</AdditionalIncludeDirectories>
<CompileAs>CompileAsCpp</CompileAs>
</ClCompile>
<Link>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\main.cpp" />
<ClCompile Include="src\ofApp.cpp" />
<ClCompile Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Algorithm.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\ofApp.h" />
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Algorithm.h" />
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Fit.h" />
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Utils.h" />
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\libs\openFrameworksCompiled\project\vs\openframeworksLib.vcxproj">
<Project>{5837595d-aca9-485c-8e76-729040ce4b0b}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="icon.rc">
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/D_DEBUG %(AdditionalOptions)</AdditionalOptions>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>
51 changes: 51 additions & 0 deletions Example_ListAlgorithms/Example_Algorithms.vcxproj.filters
@@ -0,0 +1,51 @@
<?xml version="1.0"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="src\ofApp.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\main.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Algorithm.cpp">
<Filter>addons\ofxNonLinearFit\src\ofxNonLinearFit</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{d8376475-7454-4a24-b08a-aac121d3ad6f}</UniqueIdentifier>
</Filter>
<Filter Include="addons">
<UniqueIdentifier>{71834f65-f3a9-211e-73b8-dc8563776aec}</UniqueIdentifier>
</Filter>
<Filter Include="addons\ofxNonLinearFit">
<UniqueIdentifier>{34be23b6-5f77-937c-65ee-a00fb30480ae}</UniqueIdentifier>
</Filter>
<Filter Include="addons\ofxNonLinearFit\src">
<UniqueIdentifier>{33c9892c-2259-1947-359f-8823044d9dd8}</UniqueIdentifier>
</Filter>
<Filter Include="addons\ofxNonLinearFit\src\ofxNonLinearFit">
<UniqueIdentifier>{946dee19-0769-96a3-1509-d5b120501f9a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\ofApp.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Algorithm.h">
<Filter>addons\ofxNonLinearFit\src\ofxNonLinearFit</Filter>
</ClInclude>
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Fit.h">
<Filter>addons\ofxNonLinearFit\src\ofxNonLinearFit</Filter>
</ClInclude>
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit\Utils.h">
<Filter>addons\ofxNonLinearFit\src\ofxNonLinearFit</Filter>
</ClInclude>
<ClInclude Include="..\..\..\addons\ofxNonLinearFit\src\ofxNonLinearFit.h">
<Filter>addons\ofxNonLinearFit\src</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="icon.rc" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions Example_ListAlgorithms/addons.make
@@ -0,0 +1 @@
ofxNonLinearFit
8 changes: 8 additions & 0 deletions Example_ListAlgorithms/icon.rc
@@ -0,0 +1,8 @@
// Icon Resource Definition
#define MAIN_ICON 102

#if defined(_DEBUG)
MAIN_ICON ICON "..\..\..\libs\openFrameworksCompiled\project\vs\icon_debug.ico"
#else
MAIN_ICON ICON "..\..\..\libs\openFrameworksCompiled\project\vs\icon.ico"
#endif
13 changes: 13 additions & 0 deletions Example_ListAlgorithms/src/main.cpp
@@ -0,0 +1,13 @@
#include "ofMain.h"
#include "ofApp.h"

//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context

// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());

}
122 changes: 122 additions & 0 deletions Example_ListAlgorithms/src/ofApp.cpp
@@ -0,0 +1,122 @@
#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
cout << "//--" << endl;
cout << "All algorithms:" << endl;
cout << "//--" << endl;
cout << "//" << endl;
const auto allAlgorithms = ofxNonLinearFit::Algorithm::ListAll();
for(auto algorithm : allAlgorithms) {
cout << algorithm.toString() << endl;
}
cout << "//" << endl;
cout << "//--" << endl;
cout << endl;

cout << "//--" << endl;
cout << "Global gradient-less algorithms:" << endl;
cout << "//--" << endl;
cout << "//" << endl;
const auto globalGradientlessAlgorithms = ofxNonLinearFit::Algorithm::List(ofxNonLinearFit::Algorithm::GlobalGradientless);
for(auto algorithm : globalGradientlessAlgorithms) {
cout << algorithm.toString() << endl;
}
cout << "//" << endl;
cout << "//--" << endl;
cout << endl;

cout << "//--" << endl;
cout << "Global gradient algorithms:" << endl;
cout << "//--" << endl;
cout << "//" << endl;
const auto globalGradientAlgorithms = ofxNonLinearFit::Algorithm::List(ofxNonLinearFit::Algorithm::GlobalGradient);
for(auto algorithm : globalGradientAlgorithms) {
cout << algorithm.toString() << endl;
}
cout << "//" << endl;
cout << "//--" << endl;
cout << endl;

cout << "//--" << endl;
cout << "Local gradient-less algorithms:" << endl;
cout << "//--" << endl;
cout << "//" << endl;
const auto localGradientlessAlgorithms = ofxNonLinearFit::Algorithm::List(ofxNonLinearFit::Algorithm::LocalGradientless);
for(auto algorithm : localGradientlessAlgorithms) {
cout << algorithm.toString() << endl;
}
cout << "//" << endl;
cout << "//--" << endl;
cout << endl;

cout << "//--" << endl;
cout << "Local gradient algorithms:" << endl;
cout << "//--" << endl;
cout << "//" << endl;
const auto localGradientAlgorithms = ofxNonLinearFit::Algorithm::List(ofxNonLinearFit::Algorithm::LocalGradient);
for(auto algorithm : localGradientAlgorithms) {
cout << algorithm.toString() << endl;
}
cout << "//" << endl;
cout << "//--" << endl;
cout << endl;

ofSetWindowShape(300, 50);
ofBackground(0);
}

//--------------------------------------------------------------
void ofApp::update(){

}

//--------------------------------------------------------------
void ofApp::draw(){
ofDrawBitmapString("Check the console for results", 20, 30);
}

//--------------------------------------------------------------
void ofApp::keyPressed(int key){

}

//--------------------------------------------------------------
void ofApp::keyReleased(int key){

}

//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y ){

}

//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){

}

//--------------------------------------------------------------
void ofApp::mousePressed(int x, int y, int button){

}

//--------------------------------------------------------------
void ofApp::mouseReleased(int x, int y, int button){

}

//--------------------------------------------------------------
void ofApp::windowResized(int w, int h){

}

//--------------------------------------------------------------
void ofApp::gotMessage(ofMessage msg){

}

//--------------------------------------------------------------
void ofApp::dragEvent(ofDragInfo dragInfo){

}
23 changes: 23 additions & 0 deletions Example_ListAlgorithms/src/ofApp.h
@@ -0,0 +1,23 @@
#pragma once

#include "ofMain.h"
#include "ofxNonLinearFit.h"

class ofApp : public ofBaseApp{

public:
void setup();
void update();
void draw();

void keyPressed(int key);
void keyReleased(int key);
void mouseMoved(int x, int y );
void mouseDragged(int x, int y, int button);
void mousePressed(int x, int y, int button);
void mouseReleased(int x, int y, int button);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);

};

0 comments on commit d34043b

Please sign in to comment.