[cig-commits] commit: Fix Condition Functions so that they work without explicit coordinates

Mercurial hg at geodynamics.org
Tue Nov 1 16:37:31 PDT 2011


changeset:   815:80c26e9307c0
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Tue Nov 01 16:37:23 2011 -0700
files:       Base/Context/src/ConditionFunction.cxx
description:
Fix Condition Functions so that they work without explicit coordinates


diff -r 46eb6de0c561 -r 80c26e9307c0 Base/Context/src/ConditionFunction.cxx
--- a/Base/Context/src/ConditionFunction.cxx	Thu Oct 27 18:11:20 2011 -0700
+++ b/Base/Context/src/ConditionFunction.cxx	Tue Nov 01 16:37:23 2011 -0700
@@ -37,6 +37,7 @@
 
 #include <StGermain/StGermain.h>
 #include <StgDomain/StgDomain.h>
+#include <StgFEM/StgFEM.h>
 
 #include <stdio.h>
 #include <assert.h>
@@ -173,10 +174,13 @@ void _ConditionFunction_Apply(void* cond
 
 void ConditionFunction_Apply(void* conditionFunction,
                              Index index, Variable_Index var_I,
-                             void* context, void* result)
+                             void* _context, void* result)
 {
-  MeshVariable* meshVar = (MeshVariable*)Variable_Register_GetByIndex( ((AbstractContext*)context)->variable_Register, var_I );
-  Mesh* mesh = (Mesh*)meshVar->mesh;
+  FiniteElementContext *context=(FiniteElementContext*)_context;
+  FeVariable *feVariable=(FeVariable*)FieldVariable_Register_GetByName
+    (context->fieldVariable_Register, "VelocityField");
+
+  FeMesh* mesh=feVariable->feMesh;
   assert( mesh != NULL );
   double* coord = Mesh_GetVertex( mesh, index );
   ConditionFunction_Apply(conditionFunction,coord,context,result);



More information about the CIG-COMMITS mailing list