Commit 86e6d1f4 authored by Kirill Terekhov's avatar Kirill Terekhov
Browse files

Fixes and updates

Silence solvers complaints about parameters.

Updates for Tests/solver_test001

Disable TagVariable and TagVariableArray when USE_AUTODIFF is disabled.

Fixes for Octree example.
parent f97fc84d
...@@ -15,4 +15,5 @@ if(USE_AUTODIFF AND USE_SOLVER AND USE_MESH) ...@@ -15,4 +15,5 @@ if(USE_AUTODIFF AND USE_SOLVER AND USE_MESH)
add_subdirectory(ADFVDiscr) add_subdirectory(ADFVDiscr)
add_subdirectory(ADMFD) add_subdirectory(ADMFD)
endif(USE_AUTODIFF AND USE_SOLVER AND USE_MESH) endif(USE_AUTODIFF AND USE_SOLVER AND USE_MESH)
#add_subdirectory(OctreeCutcell) #add_subdirectory(OctreeCutcell)
\ No newline at end of file add_subdirectory(Octree)
\ No newline at end of file
CXX=mpicxx
CC=mpicxx
#links for cluster
PETSC_DIR=/data4t/terekhov/Packages/petsc-3.3-p3
PETSC_ARCH=arch-linux2-c-opt
INCPATH = -I../../ #-I/data4t/terekhov/program/include -I${PETSC_DIR}/${PETSC_ARCH}/include -I${PETSC_DIR}/include
OPTFLAGS= -O0 -g -Wall
#OPTFLAGS= -O3
#MYLIBS=../../mspp.a
MYLIBS= ../../msppd.a
CXXFLAGS=$(OPTFLAGS) $(INCPATH)
LDFLAGS=$(OPTFLAGS)
PETSC = -L${PETSC_DIR}/${PETSC_ARCH}/lib/
#-lpetsc -L/usr/X11R6/lib -lX11 -ldmumps -lmumps_common -lmpi_f77 -lscalapack -lpord -lblacs -lparmetis -lmetis -lflapack -lfblas -lmpi -lHYPRE -lsuperlu_dist_2.4
#PETSC+=-lpetsc -L/usr/X11R6/lib64 -lX11 -lpthread -lmpigc4 -lstdc++ -ldmumps -lmumps_common -lscalapack -lpord -lblacs -lparmetis -lmetis -lmpi -lHYPRE -lflapack -lfblas -L/opt/intel/impi/3.2.2.006/lib64 -L/opt/intel/mpi-rt/3.2.2 -lmpigc4 -lmpigf -lmpi ../../ILU2/lib/libilu-2.3.a -lgfortran
PETSC =-lpetsc -L/usr/X11R6/lib -lX11 -lparmetis -lmetis -lmpi_f77 -lflapack -lfblas -lgfortran
ILU2 = ../../ILU2/lib/libilu-2.3.a -lgfortran
LDLIBS=$(MYLIBS) $(PETSC) $(ILU2)
targets=main
all: $(targets)
main: main.o
clean:
rm -f $(targets) *.o
...@@ -27,7 +27,7 @@ if(OPENGL_FOUND) ...@@ -27,7 +27,7 @@ if(OPENGL_FOUND)
if(GLUT_FOUND) if(GLUT_FOUND)
include_directories(${OPENGL_INCLUDE_DIR}) include_directories(${OPENGL_INCLUDE_DIR})
include_directories(${GLUT_INCLUDE_DIR}) include_directories(${GLUT_INCLUDE_DIR})
add_definitions(-D__GRAPHICS__ -g) add_definitions(-D__GRAPHICS__)
target_link_libraries(Octree ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) target_link_libraries(Octree ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
else(GLUT_FOUND) else(GLUT_FOUND)
message("GLUT not found") message("GLUT not found")
......
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The program to use to edit the cache.
CMAKE_EDIT_COMMAND = /usr/bin/ccmake
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/andre/inmost-root/INMOST-0.1
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/andre/inmost-root/INMOST-0.1
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
/usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# Special rule for the target install/local
install/local: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: install/local
.PHONY : install/local/fast
# Special rule for the target install/strip
install/strip: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: install/strip
.PHONY : install/strip/fast
# Special rule for the target list_install_components
list_install_components:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
# Special rule for the target package
package: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
cd /home/andre/inmost-root/INMOST-0.1 && /usr/bin/cpack --config ./CPackConfig.cmake
.PHONY : package
# Special rule for the target package
package/fast: package
.PHONY : package/fast
# Special rule for the target package_source
package_source:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
cd /home/andre/inmost-root/INMOST-0.1 && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/andre/inmost-root/INMOST-0.1/CPackSourceConfig.cmake
.PHONY : package_source
# Special rule for the target package_source
package_source/fast: package_source
.PHONY : package_source/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target test
test:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
/usr/bin/ctest --force-new-ctest-process $(ARGS)
.PHONY : test
# Special rule for the target test
test/fast: test
.PHONY : test/fast
# The main all target
all: cmake_check_build_system
cd /home/andre/inmost-root/INMOST-0.1 && $(CMAKE_COMMAND) -E cmake_progress_start /home/andre/inmost-root/INMOST-0.1/CMakeFiles /home/andre/inmost-root/INMOST-0.1/examples/Octree/CMakeFiles/progress.marks
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f CMakeFiles/Makefile2 examples/Octree/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/andre/inmost-root/INMOST-0.1/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f CMakeFiles/Makefile2 examples/Octree/clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f CMakeFiles/Makefile2 examples/Octree/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f CMakeFiles/Makefile2 examples/Octree/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
cd /home/andre/inmost-root/INMOST-0.1 && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
examples/Octree/CMakeFiles/Octree.dir/rule:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f CMakeFiles/Makefile2 examples/Octree/CMakeFiles/Octree.dir/rule
.PHONY : examples/Octree/CMakeFiles/Octree.dir/rule
# Convenience name for target.
Octree: examples/Octree/CMakeFiles/Octree.dir/rule
.PHONY : Octree
# fast build rule for target.
Octree/fast:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/build
.PHONY : Octree/fast
main.o: main.cpp.o
.PHONY : main.o
# target to build an object file
main.cpp.o:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/main.cpp.o
.PHONY : main.cpp.o
main.i: main.cpp.i
.PHONY : main.i
# target to preprocess a source file
main.cpp.i:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/main.cpp.i
.PHONY : main.cpp.i
main.s: main.cpp.s
.PHONY : main.s
# target to generate assembly for a file
main.cpp.s:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/main.cpp.s
.PHONY : main.cpp.s
octgrid.o: octgrid.cpp.o
.PHONY : octgrid.o
# target to build an object file
octgrid.cpp.o:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/octgrid.cpp.o
.PHONY : octgrid.cpp.o
octgrid.i: octgrid.cpp.i
.PHONY : octgrid.i
# target to preprocess a source file
octgrid.cpp.i:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/octgrid.cpp.i
.PHONY : octgrid.cpp.i
octgrid.s: octgrid.cpp.s
.PHONY : octgrid.s
# target to generate assembly for a file
octgrid.cpp.s:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/octgrid.cpp.s
.PHONY : octgrid.cpp.s
rotate.o: rotate.cpp.o
.PHONY : rotate.o
# target to build an object file
rotate.cpp.o:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/rotate.cpp.o
.PHONY : rotate.cpp.o
rotate.i: rotate.cpp.i
.PHONY : rotate.i
# target to preprocess a source file
rotate.cpp.i:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/rotate.cpp.i
.PHONY : rotate.cpp.i
rotate.s: rotate.cpp.s
.PHONY : rotate.s
# target to generate assembly for a file
rotate.cpp.s:
cd /home/andre/inmost-root/INMOST-0.1 && $(MAKE) -f examples/Octree/CMakeFiles/Octree.dir/build.make examples/Octree/CMakeFiles/Octree.dir/rotate.cpp.s
.PHONY : rotate.cpp.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... Octree"
@echo "... edit_cache"
@echo "... install"
@echo "... install/local"
@echo "... install/strip"
@echo "... list_install_components"
@echo "... package"
@echo "... package_source"
@echo "... rebuild_cache"
@echo "... test"
@echo "... main.o"
@echo "... main.i"
@echo "... main.s"
@echo "... octgrid.o"
@echo "... octgrid.i"
@echo "... octgrid.s"
@echo "... rotate.o"
@echo "... rotate.i"
@echo "... rotate.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
cd /home/andre/inmost-root/INMOST-0.1 && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
#include "octgrid.h" #include "octgrid.h"
#include "oc_glut.h" #include "my_glut.h"
#include "rotate.h" #include "rotate.h"
#include <math.h> #include <math.h>
#include "../../inmost.h" #include "inmost.h"
#include <iomanip> #include <iomanip>
#include <iostream> #include <iostream>
...@@ -72,7 +72,7 @@ void dump_to_vtk() ...@@ -72,7 +72,7 @@ void dump_to_vtk()
else else
filename << ".pvtk"; filename << ".pvtk";
thegrid.mesh->Save(filename.str()); thegrid.mesh->Save(filename.str());
cout << "Process " << rank << ": dumped mesh to file" << endl; cout << "Process " << ::rank << ": dumped mesh to file" << endl;
} }
/// Function provided to octgrid algorithm. Defines transformation from grid to grid for draw. /// Function provided to octgrid algorithm. Defines transformation from grid to grid for draw.
...@@ -353,7 +353,7 @@ void send_coordinates_to_slaves() ...@@ -353,7 +353,7 @@ void send_coordinates_to_slaves()
/// special command 'm' to slaves. Slave receive the message 'm', sends his cells to master. /// special command 'm' to slaves. Slave receive the message 'm', sends his cells to master.
void refresh_slaves_grid() void refresh_slaves_grid()
{ {
if (rank == 0) { // Send command to slaves for they will sent grid to us if (::rank == 0) { // Send command to slaves for they will sent grid to us
char buff[10][2]; char buff[10][2];
MPI_Request req[10]; MPI_Request req[10];
for (int i = 1; i < size; i++) for (int i = 1; i < size; i++)
...@@ -409,7 +409,7 @@ void refresh_slaves_grid() ...@@ -409,7 +409,7 @@ void refresh_slaves_grid()
void prepare_to_correct_brothers() void prepare_to_correct_brothers()
{ {
correct_brothers(&thegrid,size,rank, 0); correct_brothers(&thegrid,size,::rank, 0);
thegrid.mesh->RemoveGhost(); thegrid.mesh->RemoveGhost();
thegrid.mesh->Redistribute(); thegrid.mesh->Redistribute();
thegrid.mesh->ReorderEmpty(CELL|FACE|EDGE|NODE); thegrid.mesh->ReorderEmpty(CELL|FACE|EDGE|NODE);
...@@ -419,7 +419,7 @@ void prepare_to_correct_brothers() ...@@ -419,7 +419,7 @@ void prepare_to_correct_brothers()
/// Redistribute grid by using partitioner /// Redistribute grid by using partitioner
void redistribute(int type) void redistribute(int type)
{ {
LOG(2,"Process " << rank << ": redistribute. Cells: " << thegrid.mesh->NumberOfCells()) LOG(2,"Process " << ::rank << ": redistribute. Cells: " << thegrid.mesh->NumberOfCells())
Partitioner * part = new Partitioner(thegrid.mesh); Partitioner * part = new Partitioner(thegrid.mesh);
// Specify the partitioner // Specify the partitioner
...@@ -431,12 +431,12 @@ void redistribute(int type) ...@@ -431,12 +431,12 @@ void redistribute(int type)
part->Evaluate(); part->Evaluate();
delete part; delete part;
correct_brothers(&thegrid,size,rank, 2); correct_brothers(&thegrid,size,::rank, 2);
thegrid.mesh->RemoveGhost(); thegrid.mesh->RemoveGhost();
thegrid.mesh->Redistribute(); thegrid.mesh->Redistribute();
thegrid.mesh->ReorderEmpty(CELL|FACE|EDGE|NODE); thegrid.mesh->ReorderEmpty(CELL|FACE|EDGE|NODE);
thegrid.mesh->AssignGlobalID(CELL | EDGE | FACE | NODE); thegrid.mesh->AssignGlobalID(CELL | EDGE | FACE | NODE);
LOG(2,"Process " << rank << ": redistribute completed") LOG(2,"Process " << ::rank << ": redistribute completed")
} }
/// Prepare to redistribute. Master sends special command to slaves which means redistribute /// Prepare to redistribute. Master sends special command to slaves which means redistribute
...@@ -454,7 +454,7 @@ void redistribute_command() ...@@ -454,7 +454,7 @@ void redistribute_command()
for (int i = 1; i < size; i++) for (int i = 1; i < size; i++)
{ {
LOG(3,"Master: send redistribute command to slave " << rank) LOG(3,"Master: send redistribute command to slave " << ::rank)
buff[i][0] = 'x'; // Special key, means redistribute buff[i][0] = 'x'; // Special key, means redistribute
buff[i][1] = type + '0'; // Special key, means redistribute buff[i][1] = type + '0'; // Special key, means redistribute
MPI_Isend(buff[i], 2, MPI_CHAR, i, 0, INMOST_MPI_COMM_WORLD, req + i); MPI_Isend(buff[i], 2, MPI_CHAR, i, 0, INMOST_MPI_COMM_WORLD, req + i);
...@@ -474,7 +474,7 @@ void keyboard(unsigned char key, int x, int y) ...@@ -474,7 +474,7 @@ void keyboard(unsigned char key, int x, int y)
} }
if( key == ' ' ) if( key == ' ' )
{ {
if (rank == 0) if (::rank == 0)
{ {
send_coordinates_to_slaves(); send_coordinates_to_slaves();
} }
...@@ -485,7 +485,7 @@ void keyboard(unsigned char key, int x, int y) ...@@ -485,7 +485,7 @@ void keyboard(unsigned char key, int x, int y)
} }
if( key == '[' ) if( key == '[' )
{ {
if (rank == 0) if (::rank == 0)
{ {
send_coordinates_to_slaves(); send_coordinates_to_slaves();
} }
...@@ -500,7 +500,7 @@ void keyboard(unsigned char key, int x, int y) ...@@ -500,7 +500,7 @@ void keyboard(unsigned char key, int x, int y)
} }
if( key == 'f' ) if( key == 'f' )
{ {
if (rank == 0) { // Send dump command to other process if (::rank == 0) { // Send dump command to other process
dump_to_vtk(); dump_to_vtk();
char buff[10][2]; char buff[10][2];
MPI_Request req[10]; MPI_Request req[10];
...@@ -565,7 +565,7 @@ void NotMainProcess() ...@@ -565,7 +565,7 @@ void NotMainProcess()
while (1) { while (1) {
MPI_Recv(buff, 256, MPI_CHAR, 0,0, INMOST_MPI_COMM_WORLD, &status); MPI_Recv(buff, 256, MPI_CHAR, 0,0, INMOST_MPI_COMM_WORLD, &status);
LOG(2, "Process " << rank << ": received message '" << buff[0] << "'") LOG(2, "Process " << ::rank << ": received message '" << buff[0] << "'")
if (buff[0] == 'm') // Need to refine, mouse coordinates come if (buff[0] == 'm') // Need to refine, mouse coordinates come
{ {
...@@ -637,7 +637,7 @@ void NotMainProcess() ...@@ -637,7 +637,7 @@ void NotMainProcess()
// Теперь мы готовы слать. Пошлем 2мя заходами // Теперь мы готовы слать. Пошлем 2мя заходами
// Now we are ready to transmit the data. Transmit with 2 steps // Now we are ready to transmit the data. Transmit with 2 steps
LOG(2, "Process " << rank << ": send buffer with faces = " << count_f << " of " << count_df << ". Edges " << count_e) LOG(2, "Process " << ::rank << ": send buffer with faces = " << count_f << " of " << count_df << ". Edges " << count_e)
MPI_Send(buff_f, offset ,MPI_CHAR,0,0,INMOST_MPI_COMM_WORLD); MPI_Send(buff_f, offset ,MPI_CHAR,0,0,INMOST_MPI_COMM_WORLD);
MPI_Send(buff_e,count_e*sizeof(double) + sizeof(int),MPI_CHAR,0,0,INMOST_MPI_COMM_WORLD); MPI_Send(buff_e,count_e*sizeof(double) + sizeof(int),MPI_CHAR,0,0,INMOST_MPI_COMM_WORLD);
} }
...@@ -654,18 +654,18 @@ int main(int argc, char ** argv) ...@@ -654,18 +654,18 @@ int main(int argc, char ** argv)
thegrid.cell_should_split = cell_should_split; thegrid.cell_should_split = cell_should_split;
thegrid.cell_should_unite = cell_should_unite; thegrid.cell_should_unite = cell_should_unite;
Mesh::Initialize(&argc,&argv); Mesh::Initialize(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_rank(MPI_COMM_WORLD, &::rank);
gridInit(&thegrid,n); gridInit(&thegrid,n);
Partitioner::Initialize(&argc,&argv); Partitioner::Initialize(&argc,&argv);
size = thegrid.mesh->GetProcessorsNumber(); ::size = thegrid.mesh->GetProcessorsNumber();
rank = thegrid.mesh->GetProcessorRank(); ::rank = thegrid.mesh->GetProcessorRank();
//dump_to_vtk(); //dump_to_vtk();
if (rank != 0) if (::rank != 0)
{ {
NotMainProcess(); NotMainProcess();
} }
......
...@@ -376,6 +376,7 @@ Cell get_adjacent_cell(struct grid* g, Node node, int cell_num, int* result) ...@@ -376,6 +376,7 @@ Cell get_adjacent_cell(struct grid* g, Node node, int cell_num, int* result)
} }
} }
*result = -1; *result = -1;
return InvalidCell();
} }
/// Returns true if edge is not a greatest in this cell /// Returns true if edge is not a greatest in this cell
......
#ifndef _OCTGRID_H #ifndef _OCTGRID_H
#define _OCTGRID_H #define _OCTGRID_H
#include "../../inmost.h" #include "inmost.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
Specific: glut.h Specific: glut.h
**********************************/ **********************************/
#include "oc_glut.h" #include "my_glut.h"
#include "rotate.h" #include "rotate.h"
#include "math.h" #include "math.h"
#include <stdio.h> #include <stdio.h>
......
...@@ -658,16 +658,6 @@ namespace INMOST ...@@ -658,16 +658,6 @@ namespace INMOST
Storage::reference & operator [](const Storage & arg) const {return arg.Reference(*static_cast<const Tag*>(this));} Storage::reference & operator [](const Storage & arg) const {return arg.Reference(*static_cast<const Tag*>(this));}
}; };
class TagVariable : public Tag
{
public:
TagVariable() : Tag() {}
TagVariable(const TagVariable & b) : Tag(b) {}
TagVariable(const Tag & b) : Tag(b) {}
TagVariable & operator = (TagVariable const & b) {Tag::operator =(b); return *this;}
TagVariable & operator = (Tag const & b) {Tag::operator =(b); return *this;}
Storage::var & operator [](const Storage & arg) const {return arg.Variable(*static_cast<const Tag*>(this));}
};