Skip to content

Commit d18691a

Browse files
committed
(BUGFIX) fold frame created when no 3rd coord
1 parent 3a50f5b commit d18691a

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

LoopStructural/modelling/features/structural_frame_builder.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -161,18 +161,19 @@ def build(self, w1=1., w2=1., w3=1., frame=StructuralFrame, **kwargs):
161161
self.builders[1].add_orthogonal_feature(gz_feature, gyxgz,step=step)
162162
gy_const_norm = kwargs.get('gy_const_norm',0.)
163163

164-
## bit of an ugly hack, adding in norm constraints for the norm we are forcing
165-
tmp = CrossProductGeologicalFeature('tmp',gx_feature,gz_feature)
166-
self.builders[1].add_orthogonal_feature(tmp,10.,step=step,B=1)
167-
# gy_feature.value_feature = fold.fold frame[0]
168-
# vector = feature.evaluate_gradient(self.builders[1].interpolator.support.barycentre())
169-
# vector /= np.linalg.norm(vector,axis=1)[:,None]
170-
# element_idx = np.arange(self.builders[1].interpolator.support.n_elements)
171-
# np.random.shuffle(element_idx)
172-
# norm_pts = np.hstack([self.builders[1].interpolator.support.barycentre()[element_idx[::step],:],vector[element_idx[::step],:],np.ones((vector[element_idx[::step],:].shape[0],1))])
173-
174-
# self.builders[1].interpolator.set_normal_constraints(norm_pts)
175-
self.builders[1].data_added=True
164+
## bit of an ugly hack, adding in norm constraints for the norm we are forcing
165+
if gz_feature is not None:
166+
tmp = CrossProductGeologicalFeature('tmp',gx_feature,gz_feature)
167+
self.builders[1].add_orthogonal_feature(tmp,10.,step=step,B=1)
168+
# gy_feature.value_feature = fold.fold frame[0]
169+
# vector = feature.evaluate_gradient(self.builders[1].interpolator.support.barycentre())
170+
# vector /= np.linalg.norm(vector,axis=1)[:,None]
171+
# element_idx = np.arange(self.builders[1].interpolator.support.n_elements)
172+
# np.random.shuffle(element_idx)
173+
# norm_pts = np.hstack([self.builders[1].interpolator.support.barycentre()[element_idx[::step],:],vector[element_idx[::step],:],np.ones((vector[element_idx[::step],:].shape[0],1))])
174+
175+
# self.builders[1].interpolator.set_normal_constraints(norm_pts)
176+
self.builders[1].data_added=True
176177

177178
gy_feature = self.builders[1].build(regularisation=regularisation[1],**kwargs)
178179

0 commit comments

Comments
 (0)