Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 22 additions & 7 deletions tools/RegressionSceneData.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,17 @@ def default(self, obj):
return obj.tolist()
return JSONEncoder.default(self, obj)


def is_mapped(node):
mapping = node.getMechanicalMapping()

if mapping is None:
return False
else:
return True
# no mapping in this node context



class RegressionSceneData:
def __init__(self, file_scene_path: str = None, file_ref_path: str = None, steps = 1000,
Expand All @@ -51,7 +62,7 @@ def __init__(self, file_scene_path: str = None, file_ref_path: str = None, steps
self.file_ref_path = file_ref_path
self.steps = int(steps)
self.epsilon = float(epsilon)
self.meca_in_mapping = meca_in_mapping
self.meca_in_mapping = bool(meca_in_mapping)
self.dump_number_step = int(dump_number_step)
self.meca_objs = []
self.filenames = []
Expand Down Expand Up @@ -87,14 +98,18 @@ def print_meca_objs(self):


def parse_node(self, node, level = 0):
# first check current node
mstate = node.getMechanicalState()
if mstate and is_simulated(node):
if self.meca_in_mapping is True or is_mapped(node) is False:
self.meca_objs.append(mstate)
if self.verbose:
print(" " * level + f"- Adding MechanicalObject: {mstate.name.value} from Node: {node.name.value}")

# recursively check children
for child in node.children:
mstate = child.getMechanicalState()
if mstate:
if is_simulated(child):
self.meca_objs.append(mstate)

self.parse_node(child, level + 1)


def add_compare_state(self):
counter = 0
Expand Down
6 changes: 5 additions & 1 deletion tools/RegressionSceneList.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,12 @@ def process_file(self):
full_file_path = os.path.join(self.file_dir, values[0])
full_ref_file_path = os.path.join(self.ref_dir_path, values[0])

meca_in_mapping = False
if values[3] == '1': # converting string to Bool always gives True
meca_in_mapping = True

scene_data = RegressionSceneData.RegressionSceneData(full_file_path, full_ref_file_path,
values[1], values[2], values[3], values[4],
values[1], values[2], meca_in_mapping, values[4],
self.disable_progress_bar)

#scene_data.printInfo()
Expand Down